UITableViewCell在iOS 7中左右两侧有额外的间距

时间:2013-10-25 03:06:21

标签: ios objective-c uitableview ios7

我已经使用以下代码修复了分隔符问题:

if([tableView respondsToSelector:@selector(setSeparatorInset:)]) {
      [tableView setSeparatorInset:UIEdgeInsetsZero];
}

但是在iOS7中,UITableViewcell.textLabeldetailTextLabel

的左右边缘之间仍然存在较大差距

我有自定义UITableViewCells,我指定了文本标签的位置,因此这会导致标签与iOS 6和7中的标准单元格不对齐。

有什么想法吗?

4 个答案:

答案 0 :(得分:2)

尝试下面的解决方案,这将在ios 6,7上保持一致
您可以自定义UILabel并连接到自定义UITableViewCell类。

Cell Divider

您可以通过在单元格的底部边缘放置UIImageView来设置分隔符
并从故事板中将Separator样式设置为none。

Set separator to None

答案 1 :(得分:0)

你在使用故事板吗?如果你是,最好从故事板中做到这一点。从故事板中的UIViewController中选择您的UITableView对象。在“Attributes Inspector”下,找到“Separator Inset”,选择“Custom”并确保“Left”和“Right”都为0.

屏幕截图: -

UITableView Separator Inset

答案 2 :(得分:0)

对于UITableViewCell,只能在UITableViewCell的子类中修改cell.textLabel和detailTextLabel的帧。试试这个:

- (void)layoutSubviews{
    [super layoutSubviews];
    self.textLabel.frame = self.textLbFrame;
   self.detailTextLbFrame = self.detailTextLabel.frame; 
}

答案 3 :(得分:0)

在故事板中配置约束时,有一些选项可以使约束相对于边距。在tableviews的情况下,默认情况下会选择该选项。

要修复:选择每个水平约束,选择Superview.Leading / Trailing并取消选中Relative to margin

enter image description here

enter image description here