iPhone 7 plus 和其他 iPhone 的不同限制

Posted

技术标签:

【中文标题】iPhone 7 plus 和其他 iPhone 的不同限制【英文标题】:Different constraints on iPhone 7 plus and other iPhones 【发布时间】:2017-08-25 21:47:08 【问题描述】:

我正在使用带有静态单元格和右侧详细表视图单元格样式的 UiTableView,我发现在除 iPhone 7 之外的所有 iPhone 上加上左标签的前导空格等于 16,而在 iPhone 7 上加上它等于 20。 不同 iPhone 中相同单元格的截图:

我需要创建带有标签的自定义单元格,该标签必须具有相同的前导间距,我认为我可以为它使用尺寸类,但是如果所有 iPhone 在纵向模式下都具有常规高度和紧凑宽度(应用程序仅使用纵向模式)。我知道这个问题可以通过编程方式解决,但必须有某种方法可以通过界面生成器来解决它。 我在 iPhone 7 plus 上的自定义单元格和右细节样式单元格的屏幕截图(我在顶部的自定义单元格的前导约束等于 16,但对于 7 plus,它必须是 20):

【问题讨论】:

【参考方案1】:

这是由于顶层视图的边距,由系统设置为您描述的值。您可以覆盖视图的边距,使其在所有设备上都相同。

【讨论】:

谢谢你的回答,我试过这个代码 - cell.layoutMargins = UIEdgeInsets(top: 0, left: 16, bottom: 0, right: 0) 我发现它不能小于20. 边距是分层的,顶层视图有你不想要的边距。我不是在哪里可以尝试的,但如果我没记错的话,您无法更改***边距,但您可以将 preservesSuperviewLayoutMargins 设置为 false。

以上是关于iPhone 7 plus 和其他 iPhone 的不同限制的主要内容,如果未能解决你的问题,请参考以下文章

iPhone 6S plus 和 iPhone 7 plus 中的启动图像问题

2月3日iPhone 7&iPhone 7 Plus最新报价

c_cpp Taptic API for iPhone 7,7 Plus(公共API)。还适用于iPhone 6s,6s Plus(私有API)。

HTML 文本输入会破坏 Iphone 6/7 plus 上的定位

iPhone 6 Plus 和所有其他小屏幕之间的不同 UITableViewCell / UICollectionViewCell 指标

Google AdMob 不适用于 iPhone 7 和 7 Plus 等大屏幕设备的 Xamarin Form iOS