iOS开发过程中,当我们创建的tableview为plain类型时,会发现其分割线左边总是会有一定的边距,通过设置UIEdgeInsets也无法使其左边距为零。究竟如何才能延长分割线呢?
首先,在创建tableview的地方加入以下代码:
if([_tableView respondsToSelector:@selector(setSeparatorInset:)]){
[_tableView setSeparatorInset:UIEdgeInsetsZero];
}
if([_tableViewre spondsToSelector:@selector(setLayoutMargins:)]){
[_tableView setLayoutMargins:UIEdgeInsetsZero];
}
然后在tableview的代理方法中加入以下代码:
#pragma mark - tableViewDelegate
- (void)tableView:(UITableView*)tableView willDisplayCell:(UITableViewCell*)cell forRowAtIndexPath:(NSIndexPath*)indexPath{
if([cellrespondsToSelector:@selector(setSeparatorInset:)]) {
[cellsetSeparatorInset:UIEdgeInsetsZero];
}
if([cellrespondsToSelector:@selector(setLayoutMargins:)]) {
[cellsetLayoutMargins:UIEdgeInsetsZero];
}
}
这个方法同样适用于Grouped类型的tableview,但我发现使用了该方法后无法通过tableview的代理方法来控制sectionHeadView的高度,该方案有待进一步完善。望大神指导!