一、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 供参考
网友评论