我有一个静态的可扩展视图,有4个单元格:第一个和最后一个单元格是自定义的,而第二个和第三个单元格使用内置样式(分别为“Basic”和“Right Detail”)。我对第一个和最后一个单元格中的标签有以下约束:
- label.leading = superview.leading + 20
- label.Center Y = superview.Center Y
我在将自定义可扩展ViewCell标签的约束与默认可扩展ViewCell(使用内置样式的标签)的约束进行匹配时遇到了问题。
对于某些设备(例如iPhone XR),标签的X位置与所有四个单元格(20)匹配:
的数据
但对于其他设备(例如iPhone Xs),标签的X位置不匹配(16 vs 20):
的
请注意,第一个和最后一个单元格的X位置(20)大于第二个和第三个单元格的X位置(16)。
起初,我以为默认单元格的约束会根据设备的大小类别而变化,但iPhone XR和XS都有紧凑的宽度(wC)和规则的高度(hR)。
如何将自定义单元格的标签约束与默认的可扩展视图单元格的标签约束相匹配?
2条答案
按热度按时间vbkedwbf1#
textLabel
和detailTextLabel
甚至存在于子类UITableViewCell
中。虽然使用textLabel
代替自定义标签可以解决左边距问题,但UISwitch
在右侧仍然存在问题。但是,您可以将布局与
textLabel
的前导约束和detailTextLabel
的尾随约束对齐。字符串
fjnneemd2#
这将在iPhone SE上设置为
16
,在更新的设备上设置为20
:字符串