我需要在iOS 7中显示与iOS 6相同的分隔线(如我的图像2)。我在CellForRowAtIndexPath中使用下面的代码:
UIView* separatorLineView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 1)];
separatorLineView.backgroundColor = [UIColor colorWithRed:229/255.0 green:229/255.0 blue:229/255.0 alpha:1.0];
[cell.contentView addSubview:separatorLineView];
UIView *customColorView = [[UIView alloc] init];
customColorView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"cell_highlighted.png"]];
cell.selectedBackgroundView = customColorView;
cell.backgroundColor=[UIColor clearColor];
//Separation style for iOS7
if ([tableView respondsToSelector:@selector(setSeparatorInset:)]) {
[tableView setSeparatorInset:UIEdgeInsetsZero];
}
return cell;
我的输出如下图所示:
但我的输出应该是IOS 6和7的下图:
任何人都可以帮我解决这个问题吗?感谢..
答案 0 :(得分:1)
contentView
并不总是与单元格本身相同,在内容视图上方的单元格视图顶部添加分隔符视图:
separatorLineView.autoresizingMask = UIViewAutoresizingFlexibleWidth;
[cell insertSubview:separatorLineView aboveSubview:cell.contentView];
答案 1 :(得分:0)
UITableView有一个属性separatorInset。使用它将表视图分隔符的insets设置为零,使它们跨越屏幕的整个宽度。
[tableView setSeparatorInset:UIEdgeInsetsZero];
OR
您也可以在xib中设置分隔符插入属性。将其更改为自定义。并使左右值都为零。