我正在尝试显示UITableview自定义单元格。但是我的tableview分隔符没有按预期显示。我附上了截图。
我尝试制作UIEdgeInsetZero,但它没有奏效。任何人都可以帮我解决这个问题。
答案 0 :(得分:2)
将separatorInset
设置为UIEdgeInsetZero
对于iOS 8来说还不够。您还应该将表格和单元格的layoutMargins
属性设置为UIEdgeInsetZero
。
答案 1 :(得分:1)
答案 2 :(得分:0)
嘿所有我得到了解决方案。
我在Custom UITableViewCell中覆盖layoutSubviews,分隔符显示正确。
- (void)layoutSubviews {
[super layoutSubviews];
for (UIView *subview in self.contentView.superview.subviews) {
if ([NSStringFromClass(subview.class) hasSuffix:@"SeparatorView"]) {
subview.hidden = NO;
}
} }
答案 3 :(得分:0)
试试这个:
cell.layoutMargins = UIEdgeInsetsZero;
cell.preservesSuperviewLayoutMargins = NO;
答案 4 :(得分:0)
-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
// Remove seperator inset
if ([cell respondsToSelector:@selector(setSeparatorInset:)]) {
[cell setSeparatorInset:UIEdgeInsetsZero];
}
// Prevent the cell from inheriting the Table View's margin settings
if ([cell respondsToSelector:@selector(setPreservesSuperviewLayoutMargins:)]) {
[cell setPreservesSuperviewLayoutMargins:NO];
}
// Explictly set your cell's layout margins
if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
[cell setLayoutMargins:UIEdgeInsetsZero];
}
}