在UITableView中有一个separatorStyle属性来设置分割线的样式.
separatorStyle里面有三个枚举值.第一个枚举值UITableViewCellSeparatorStyleNone设置了之后tableView控件就没有线了.第二个枚举值UITableViewCellSeparatorStyleSingleLine设置了之后不论没有没数据的地方都有了线.第三个枚举值UITableViewCellSeparatorStyleSingleLineEtched设置了之后有数据的地方没有线.没有数据的地方反而有了线.
第一.有线.但是线不是完全的线.前面大概有个8个PT的间距.
在代码里面我们可以使用以下的代码来设置系统cell自带线的全占满:
//解决线不占满的问题
- (void)viewDidLayoutSubviews {
if ([self.tableViewrespondsToSelector:@selector(setSeparatorInset:)]) {
[self.tableViewsetSeparatorInset:UIEdgeInsetsZero];
}
if ([self.tableViewrespondsToSelector:@selector(setLayoutMargins:)]) {
[self.tableViewsetLayoutMargins:UIEdgeInsetsZero];
}
}
第二.我们的需求可能是有数据的时候有线.默认的tableView是plain.这是默认有线的.有数据的地方有线,没有数据的地方也有线.group样式的话是默认没有线的.
第一步,我们设置tableview有线
self.tableView.separatorStyle =UITableViewCellSeparatorStyleSingleLine;
第二步,我们设置一下组尾来让没有数据的地方没有线
self.tableView.tableFooterView = [[UIView alloc] init];
然后去看效果.现在是有数据的地方有线,没数据的地方没线.