Ben*_*ohn 30 uitableview ios autolayout
我UITableViewCell在故事板中定义自定义.我也使用了一些内置的标准样式单元格.我需要设置约束,以便我的自定义单元格与平台定义的单元格匹配(在左侧正确对齐它们的标题).
我注意到,在iOS版本和运行它的设备之间,单元格的左对齐会发生变化.它看起来像左对齐相同的默认单元格separatorInset.
这里是UITableViewCell小号separatorInset几设备和iOS版本:
其他设备(iPhone 6 +,iPad Mini)可能有所不同 - 我没有详尽检查.
您将如何确保自定义单元格和内置单元格的标签左对齐?
是否有一种合理的方法来获取这些插入默认值并在故事板中设置的自动布局约束中使用它们?代码怎么样?
Ric*_*ick 34
我有同样的问题,但另一个答案无法帮助我,因为我在UITableViewController中使用静态单元格.经过一些试验和错误后,我终于找到了一种方法来解决separatorInsetiPhone 6+上的问题而无需一行代码.

我只是将UILabel的左边缘与左边距的值[内容视图(当前距离= 0)]对齐.并且还将UILabel的X位置更改为0.(对于我的情况,在Interface Builder中,边距为7,UILabel的X = 8).对齐适用于iPhone 4S,5S,6和6+.
编辑:这改变了的XCode 7.附加步:将各单元的集"保留上海华边距" TableViewCell和contentView为TRUE或检查它在IB - >尺寸检查.请参阅@ tebs1200的答案.
希望这可以帮助.
对我有用的是将这两行添加到我的自定义UITableViewCell实现中:
self.preservesSuperviewLayoutMargins = YES;
self.contentView.preservesSuperviewLayoutMargins = YES;
// ... add test view to content view...
Run Code Online (Sandbox Code Playgroud)
然后我使用默认间距的自动布局:
[self.contentView addConstraints:[NSLayoutConstraint
constraintsWithVisualFormat:@"H:|-[testView]-|" options:0 metrics:nil
views:@{@"testView":testLabel}]];
[self.contentView addConstraints:[NSLayoutConstraint
constraintsWithVisualFormat:@"V:|-[testView]-|" options:0 metrics:nil
views:@{@"testView":testLabel}]];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5969 次 |
| 最近记录: |