【发布时间】:2014-05-05 18:53:01
【问题描述】:
UITabBarController UITableView 故事板、约束和自动布局。 n 有没有我可以在 viewDidLoad 中调用的方法来解决这个问题?
小牛队 10.9.2 Xcode 5.1
这是关于一个 iOS 应用程序,UITabBarController 包含在其 UIView 中的 UIViewController
top area:UILabel
middle area:UITable
bottom area: Button, Label and Switch
这是我第一个故事板的照片:
顶部区域有它的Label约束到UIView的顶部、左侧和右侧
中间的 UITableView 被限制在顶部和底部之间的中心区域
Button Label 和 Switch 被限制在 UIView 的下部,在 UITableView 下方。
View 首次出现时,UITableView 向下延伸太远,覆盖了 Button、Label 和 Switch
https://www.dropbox.com/s/d0mqin7bh4cglgj/Screenshot%202014-03-26%2021.18.23.png
在第一次旋转更改后,约束按预期工作。
https://www.dropbox.com/s/047fj86caqpp5kl/Screenshot%202014-03-26%2021.19.29.png
然后,约束在任意数量的方向变化中继续起作用。
https://www.dropbox.com/s/fug0znnf8fc1etr/Screenshot%202014-03-26%2021.21.28.png
有什么解决办法吗?
https://www.dropbox.com/s/0f1oabbj9e05j2h/Screenshot%202014-03-26%2021.22.47.png
非常感谢,马克
【问题讨论】:
-
它看起来更像是“按钮标签和开关”只是从屏幕上移开。这通常是约束不足的标志。您是否在情节提要中收到任何警告?或者,运行常规检查以查看您是否有不明确的布局。
-
马特,你写得真好。有 4 个关于错位视图的警告,所有关于电视下方的四个对象,但没有关于 UITableView。如果约束在加载时起作用,然后在第一次方向改变时失效,我会说约束肯定是“错误的”,事实上约束在第一次加载时失效,然后在第一次旋转后按我想要的方式工作,这让我觉得我需要从我的代码中调用一些方法。
-
你说的符合我的理论。在屏幕截图中,表格视图看起来并没有覆盖四个对象;看起来这四个对象只是丢失了。您应该在情节提要上工作,直到没有更多警告为止!
-
谢谢马特,我需要另一种克制!
-
我会写下我的建议作为实际答案,以帮助其他人。
标签: uitableview storyboard uitabbarcontroller constraints autolayout