在做APP的个人中心或者其它页面的时候会要求页面cell的分割线是从左边0开始的,但是系统默认是间隔了15像素的距离的,如下图1-1
可能大家都会说自定义cell就搞定了啊,没错,但是有没有更加好一点的方法呢?毕竟自定义cell费时间啊(其实是懒),其实办法还是有的,而且也简单,在iOS7中可以通过设置setSeparatorInset:
为UIEdgeInsetsZero
,在iOS8改成setLayoutMargins:
方法了,为了兼容iOS7,所以要加个判断,具体代码在tableView页面添加下面的方法即可:
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
[cell setLayoutMargins:UIEdgeInsetsZero];
}
if ([cell respondsToSelector:@selector(setSeparatorInset:)]) {
[cell setSeparatorInset:UIEdgeInsetsZero];
}
}
- (void)viewDidLayoutSubviews
{
if ([_tableView respondsToSelector:@selector(setSeparatorInset:)]) {
[_tableView setSeparatorInset:UIEdgeInsetsZero];
}
if ([_tableView respondsToSelector:@selector(setLayoutMargins:)]) {
[_tableView setLayoutMargins:UIEdgeInsetsZero];
}
}
完成之后效果如图1-2,是不是很省事?: