iOS开发

iOS之分割线设置

2017-09-22  本文已影响239人  ChinaGoodStaff

iOS开发中关于没有数据时不显示tableView的分割线

//可以直接添加如下代码即可
self.tableView.tableFooterView = [[UIView alloc]init];

我们在使用tableview时会发现分割线的左边会短一些,通常可以使用setSeparatorInset:UIEdgeInsetsZero 来解决。但是升级到XCode6之后,在iOS8里发现没有效果。下面给出解决办法:
首先在viewDidLoad方法中加上如下代码:

if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) {

[self.tableView setSeparatorInset:UIEdgeInsetsZero];
}
if ([self.tableView respondsToSelector:@selector(setLayoutMargins:)]) {

[self.tableView setLayoutMargins:UIEdgeInsetsZero];
}

然后在willDisplayCell方法中加入如下代码:

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

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

[cell setSeparatorInset:UIEdgeInsetsZero];
}
if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {

[cell setLayoutMargins:UIEdgeInsetsZero];
}
}

这样就可以正常显示了。

设置分割线的颜色
self.tableView.separatorColor = [UIColor redColor];
上一篇下一篇

猜你喜欢

热点阅读