在开发ios8中大家会发现系统自带的分割线前面会有15个像素的空余,那么怎么才能像以前一样的,我看到别人的博客有提到
首先在viewdidload中设置好你的系统分割线,然后加上如下代码
listView=[[UITableView alloc] initWithFrame:CGRectMake(0, 0, self.contentView.frame.size.width,self.contentView.frame.size.height) style:UITableViewStylePlain];
listView.delegate=self;
listView.dataSource=self;
listView.backgroundColor=UIColorFromRGB(239, 239, 239);
listView.separatorStyle=UITableViewCellSeparatorStyleSingleLine;
//设置分割线的间隔为零
if ([listView respondsToSelector:@selector(setSeparatorInset:)]) {
[listView setSeparatorInset:UIEdgeInsetsZero];
}
if ([listView respondsToSelector:@selector(setLayoutMargins:)]) {
[listView setLayoutMargins:UIEdgeInsetsZero];
}
[self.contentView addSubview:self.listView];
[self setExtraCellLineHidden:listView];
再在tableview的代理方法中写上如下代码就可以了
- (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];
}
}