自动布局视图以占用所有可用空间
Posted
技术标签:
【中文标题】自动布局视图以占用所有可用空间【英文标题】:Autolayout a view to take up all space available 【发布时间】:2014-11-11 16:40:40 【问题描述】:我正在尝试使用自动布局在 View Controller 中设置 TableView(或任何视图)。对于所有配置,我希望视图占用整个可用空间。
我尝试了各种方法,尝试搜索任何解决方案,但还没有找到实现这一目标的直接方法。
这可能吗?如果是的话,谁能帮我指点一下?
添加更多细节:
附件是一个嵌入在 TabBar 控制器项中的 TableView 的屏幕截图。我四面都有 4 个引脚,距离为 0,优先级为 1000。
但是,我可以看到橙色线条,看起来像是缺少约束。我错过了什么?
另外,当我在 iPhone 模拟器上运行它时,表格视图并没有像我希望的那样呈现。这是截图。
table view 没有向两边延伸,边距也不同。
【问题讨论】:
只需将视图的每条边约束到视图控制器的视图,距离为 0,优先级为 1000。 我已经更新了我的答案。立即尝试。 【参考方案1】:在您的故事板中,只需选择 TableView 并添加 4 个引脚约束。一个用于父视图的所有边缘。
按照下图,确保Constrain to margins
未勾选
然后,如果您看到相同的橙色约束,只需单击右下角的第三个约束按钮并选择Update Frames
,如下图
尝试添加一些数据源以在模拟器上查看真实结果。如果您放置一些数据,右侧的多余空间将消失。相反,左侧的空格是默认行为。
【讨论】:
嗯。似乎工作。但我仍然在左边得到额外的边距,但在右边没有边距。这看起来很奇怪,而且不像默认行为。 是的。尝试在您的设备中打开其他 tableview 应用程序。这是默认行为... 哦!!!。这对我来说是个新闻 :) 抱歉,我刚刚开始使用自动布局和 ios8。以上是关于自动布局视图以占用所有可用空间的主要内容,如果未能解决你的问题,请参考以下文章
在 iOS 上使用自动布局如何指定视图应占用尽可能多的空间?
尝试理解 iOS 8 中的 UIScrollView 自动布局