具有自动布局的 UITableView 在横向模式下不会填满屏幕。为啥?

Posted

技术标签:

【中文标题】具有自动布局的 UITableView 在横向模式下不会填满屏幕。为啥?【英文标题】:UITableView with autolayout does not fill screen in Landscape Mode. Why?具有自动布局的 UITableView 在横向模式下不会填满屏幕。为什么? 【发布时间】:2016-12-11 20:43:31 【问题描述】:

我有一个带有 UITableView 的 UIViewController。托管 UIViewController 由 UINavigationController 呈现。我正在使用自动布局并使用“Leading Space to Superview (-16.00)”和类似的“Trailing Space to Superview Constraint”将表格视图固定到父视图的左侧和右侧。它在人像模式下效果很好。但是当我切换到横向模式时,tableview 每边都短了几个像素。屏幕截图如下所示。注意横向版本的红色小边框。 (我已将 UITableview 下的视图背景设置为红色。)我什至可以在情节提要中看到这个边框,但我不知道如何摆脱它。

如果重要的话,我的应用是为 ios 10 构建的。

【问题讨论】:

UIController? UINavigationControllerUIViewController 是什么意思? 它是从 UINavigationController 中呈现的 UIViewController。我已经编辑了我的问题,以便更清楚。谢谢。 【参考方案1】:

引领空间走向Superview

我将建议您将前缘/后缘固定到超级视图的 边距。您想将它们固定到超级视图本身(并将constant 值更改为0)。

【讨论】:

嗨,马特,这是短短几天内您第二次帮助我。我要买你的书!

以上是关于具有自动布局的 UITableView 在横向模式下不会填满屏幕。为啥?的主要内容,如果未能解决你的问题,请参考以下文章

UITableView 部分标题的自动布局问题

UITableView横向无响应区域

具有纵向和横向图像视图的自动布局

如何使用自动布局在纵向模式下垂直堆叠视图并在横向模式下水平堆叠视图?

由于纵向尺寸的超视帧,iOS自动布局在横向模式下不正确?

插入时具有自动布局和 NSFetchedResultscontroller 单元布局错误的 UITableview