我有一个视图控制器,它是SplitViewController的“Detail”端。它有一个控件,一个UITableView。我正在加载自定义UITableViewCell。当“Style”设置为“Plain”(某种程度)时,它可以正常工作。但是当我将样式更改为“Grouped”时,自定义单元格会扩展到每个分组部分的边框之外。
如果我关闭自定义单元格笔尖上的“Autolayout”,它可以正常工作。但是,我希望单元格使用自动布局,以便它可以按照我想要的方式在不同的设备上运行。
就像我说的那样,它“有点”以“平原”的风格运作。问题仍然存在。如果我在设备上切换方向,则详细视图控制器现在整个视图上都有滚动条。所以,我们确实有相同的间距问题,它不是那么明显。
我对这个完全感到困惑。我不能成为第一个看到这个的人。
答案 0 :(得分:0)
这与“水平间距”约束有关,该约束自动放在UITableViewCell中的任何对象上。降低此约束的优先级,然后以编程方式添加自己的约束将解决问题。
请参阅此stackoverflow问题 - Auto layout with custom UITableViewCell。
我用来将Label保持在Grouped UITableViewCell范围内的示例。这需要在创建单元格时完成:
NSDictionary *dict = NSDictionaryOfVariableBindings(_label);
[self.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-10-[_label]" options:0 metrics:nil views:dict]];