美文网首页iOS新手学习
iOS中tableView常用属性设置

iOS中tableView常用属性设置

作者: 庚妖素 | 来源:发表于2017-05-02 10:15 被阅读0次

一、tableView的属性

1.取消cell的分割线

tableView.separatorStyle=UITableViewCellSeparatorStyleNone;

//设置分割线颜色

tableView.separatorColor = [UIColor redColor];

2.取消tableView右侧的滚动条

tableView.showsVerticalScrollIndicator=NO;

3.当tableview数据较少时,动态隐藏tableView的底部线条

tableView.tableFooterView=[[UIView alloc]init];

4.设置tableView的偏移量

[myTableView setContentOffset:CGPointMake(0, 100) animated:YES];

5.隐藏tableView的footerView

tableView.sectionFooterHeight = 0;

6.设置tableView中cell的分割线左边距距离

if([_tableView respondsToSelector:@selector(setSeparatorInset:)])   

{

        [_tableViewsetSeparatorInset:UIEdgeInsetsZero];

}

  if([_tableView respondsToSelector:@selector(setLayoutMargins:)])   

  {

          [_tableViewsetLayoutMargins:UIEdgeInsetsZero];

  }   

  //初始化tableView时设置

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cellforRowAtIndexPath:(NSIndexPath *)indexPath

{

if([cell respondsToSelector:@selector(setSeparatorInset:)])   

{

        [cell setSeparatorInset:UIEdgeInsetsZero];   

}

if([cell respondsToSelector:@selector(setLayoutMargins:)])

   {       

[cell setLayoutMargins:UIEdgeInsetsZero];   

}}

-(void)viewDidLayoutSubviews

{

}

7.tableView选中时反选

-(void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(NSIndexPath*)indexPath

{

    [tableView deselectRowAtIndexPath:indexPath animated:YES];

}

8.在tableView索引中显示搜索按钮

- (NSArray*)sectionIndexTitlesForTableView:(UITableView*)tableView{

NSMutableArray *arr = [[NSMutableArrayalloc] initWithCapacity:0];

[arr addObject:@"{search}"];//等价于[arr addObject:UITableViewIndexSearch];

return arr;

}

二、Cell的属性

1.设置单元格选中时的背景色

方法一、

UIImageView*imageView = [UIImageViewalloc]init];

imageView.backgroundColor= [UIColorclearColor];cell.selectedBackgroundView= imageView;

方法二、

UITableViewCell*cell = [tableView dequeueReusableCellWithIdentifier:cellIndentifer];

UIView* bgview = [[UIViewalloc] initWithFrame:CGRectMake(0,0,1,1)];

bgview.opaque=YES;bgview.backgroundColor= [UIColororangeColor];

[cell setBackgroundView:bgview];

2.设置单元格默认背景色

通过属性设置

cell.contentView.backgroundColor= [UIColor redColor];

通过方法设置

- (void)tableView:(UITableView*)tableView willDisplayCell:(UITableViewCell*)cell forRowAtIndexPath:(NSIndexPath*)indexPath 

{

    cell.backgroundColor= [UIColorredColor];

}

3.取消单元格选中时背景色

cell.textLabel.highlightedTextColor= [UIColor redColor];

4.调整单元格之间的距离

- (void)setFrame:(CGRect)frame

{

    // tableView边框的宽度#define kTableBorderWidth 5// 更改x、宽度   

frame.origin.x= kTableBorderWidth;

frame.size.width-= kTableBorderWidth *2;

// 更改顶部间距、每个cell之间的间距   

frame.origin.y+= kTableTopBorderWidth;

frame.size.height-= kTableViewCellMargin;

[super setFrame:frame];

}

5.单元格的属性

cell.accessoryType =UITableViewCellAccessoryNone;//cell没有任何的样式

cell.accessoryType =UITableViewCellAccessoryDisclosureIndicator;//cell的右边有一个小箭头,距离右边有十几像素;

cell.accessoryType =UITableViewCellAccessoryDetailDisclosureButton;//cell右边有一个蓝色的圆形button;

cell.accessoryType =UITableViewCellAccessoryCheckmark;//cell右边的形状是对号;

cell.selectionStyle =UITableViewCellSelectionStyleNone;//cell选中状态的样式,为枚举类型

6.设置单元格的边框

[cell.contentView.layersetBorderColor:[UIColorblackColor].CGColor]; //边框颜色

[cell.contentView.layersetBorderWidth:1.0f];//边框线条宽度

cell.contentView.layer.cornerRadius=3.0; //边框圆角幅度

7.设置单元格被选中的背景颜色

cell.selectionStyle=UITableViewCellSelectionStyleBlue;//选中时蓝色效果

cell.selectionStyle=UITableViewCellSelectionStyleNone; //选中时没有颜色效果

cell.selectionStyle=UITableViewCellSelectionStyleGray;  //选中时灰色效果

自定义选中cell时的背景颜色

UIView *selectedView = [[UIView alloc] initWithFrame:cell.contentView.frame];

selectedView.backgroundColor = [UIColor orangeColor];

cell.selectedBackgroundView = selectedView;

8.设定cell附加视图

//设定附加视图

[cell setAccessoryType:UITableViewCellAccessoryDetailDisclosureButton];

//UITableViewCellAccessoryNone,                   // 没有标示

//UITableViewCellAccessoryDisclosureIndicator,    // 下一层标示

//UITableViewCellAccessoryDetailDisclosureButton, // 详情button

//UITableViewCellAccessoryCheckmark               // 勾选标记

9.默认选中某行

通常写在viewWillAppear里面或者在[tableView reloaData]之后

NSIndexPath* selIndex = [NSIndexPathindexPathForRow:1inSection:0];

[_tableView selectRowAtIndexPath:selIndex animated:YESscrollPosition:UITableViewScrollPositionTop];

NSIndexPath* path = [NSIndexPathindexPathForItem:1inSection:0];

[selftableView:self.tableViewdidSelectRowAtIndexPath:path];

10.

//默认行高44

https://www.oschina.net/code/snippet_2248391_51425  供参考

http://blog.csdn.net/pyy910716/article/details/47779281 供参考

相关文章

网友评论

    本文标题:iOS中tableView常用属性设置

    本文链接:https://www.haomeiwen.com/subject/uukctxtx.html