首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

UITableView自定义个人化

2012-09-29 
UITableView自定义个性化}??分享到:?cell设置背景图片。UIImageView *bgImageView [[UIImageView alloc]

UITableView自定义个性化

}??分享到:?

cell设置背景图片。


UIImageView *bgImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"home.png"]];
????cell.backgroundView = bgImageView;????
????[bgImageView release];

cell设置选中图片

UIImageView *ivSelected = [[UIImageView alloc] initWithImage:kSelectedTableCellImage]; ?
? cell.selectedBackgroundView = ivSelected; ??
? [ivSelected release];

?

?

-、建立 UITableView

?DataTable = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 420)];?[DataTable setDelegate:self];?[DataTable setDataSource:self];?[self.view addSubview:DataTable];?[DataTable release];?二、UITableView各Method说明?//Section总数- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView{?return TitleData;}?// Section Titles//每个section显示的标题- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{?return @"";}?//指定有多少个分区(Section),默认为1- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {?return 4;}?//指定每个分区中有多少行,默认为1- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{}?//绘制Cell-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {static NSString *SimpleTableIdentifier = @"SimpleTableIdentifier";???? ?UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:?? ? ? ? ? ? ? ? ? ? ? ? ? ? SimpleTableIdentifier];?? ?if (cell == nil) { ??? ? ? ?cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? reuseIdentifier: SimpleTableIdentifier] autorelease];?}?cell.imageView.image=image;//未选cell时的图片?cell.imageView.highlightedImage=highlightImage;//选中cell后的图片?cell.text=//.....?return cell;}?//行缩进-(NSInteger)tableView:(UITableView *)tableView indentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath{?NSUInteger row = [indexPath row];?return row;}?//改变行的高度- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{?? ?return 40;}?//定位[TopicsTable setContentOffset:CGPointMake(0, promiseNum * 44 + Chapter * 20)];?//返回当前所选cellNSIndexPath *ip = [NSIndexPath indexPathForRow:row inSection:section];[TopicsTable selectRowAtIndexPath:ip animated:YES scrollPosition:UITableViewScrollPositionNone];?[tableView setSeparatorStyle:UITableViewCellSelectionStyleNone];?//选中Cell响应事件- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{?[tableView deselectRowAtIndexPath:indexPath animated:YES];//选中后的反显颜色即刻消失}?//判断选中的行(阻止选中第一行)-(NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath{?? ?NSUInteger row = [indexPath row];?? ?if (row == 0)?? ? ? ?return nil;????? ?return indexPath;}?//划动cell是否出现del按钮- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {}?//编辑状态- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyleforRowAtIndexPath:(NSIndexPath *)indexPath{}[topicsTable setContentSize:CGSizeMake(0,controller.promiseNum * 44)];//右侧添加一个索引表- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView{}//返回Section标题内容- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{}//自定义划动时del按钮内容- (NSString *)tableView:(UITableView *)tableViewtitleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath//跳到指的row or section[tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] atScrollPosition:UITableViewScrollPositionBottom animated:NO];三、在UITableViewCell上建立UILable多行显示- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {?? ?static NSString *CellIdentifier = @"Cell"; ???? ?UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];?? ?if (cell == nil) {?? ? ? ?cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];??UILabel *Datalabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 0, 320, 44)];??[Datalabel setTag:100];??Datalabel.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;??[cell.contentView addSubview:Datalabel];??[Datalabel release];?}??UILabel *Datalabel = (UILabel *)[cell.contentView viewWithTag:100];?[Datalabel setFont:[UIFont boldSystemFontOfSize:18]];?Datalabel.text = [data.DataArray objectAtIndex:indexPath.row];?cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;?? ?return cell;}//选中cell时的颜色typedef enum {?? ?UITableViewCellSelectionStyleNone,?? ?UITableViewCellSelectionStyleBlue,?? ?UITableViewCellSelectionStyleGray} UITableViewCellSelectionStyle?//cell右边按钮格式typedef enum {?? ?UITableViewCellAccessoryNone, ? ? ? ? ? ? ? ? ? // don't show any accessory view?? ?UITableViewCellAccessoryDisclosureIndicator, ? ?// regular chevron. doesn't track?? ?UITableViewCellAccessoryDetailDisclosureButton, // blue button w/ chevron. tracks?? ?UITableViewCellAccessoryCheckmark ? ? ? ? ? ? ? // checkmark. doesn't track} UITableViewCellAccessoryType//是否加换行线typedef enum {?? ?UITableViewCellSeparatorStyleNone,?? ?UITableViewCellSeparatorStyleSingleLine} UITableViewCellSeparatorStyle//改变换行线颜色tableView.separatorColor = [UIColor blueColor];

?

热点排行