我有一个带有容器的主视图控制器,该容器包括一个表视图控制器。在主视图控制器中,容器在每个方向上使用约束放置,但是当主视图控制器第一次出现时,它不遵循约束。
但是,当我切换另一个视图(“Uppladdning”)然后再返回主视图时,容器会正确显示。
答案 0 :(得分:0)
好的,所以我找到了解决问题的临时解决方案。
override func viewDidLayoutSubviews() {
if (firstTimeDisplay)! {
self.certificateListViewContainer.frame = CGRect(x: 9, y: 9, width: self.view.bounds.width - 18, height: self.view.bounds.height - 52)
}
}
也就是说,我首次使用布尔 var firstTimeDisplay 手动更改容器的帧大小。不是一个优雅的解决方案,但它现在会做。
答案 1 :(得分:0)
为容器视图设置背景颜色并再次尝试。这将帮助您确定容器视图或表视图上的约束是否不起作用。
理想情况下,如果您只是从标签栏控制器中的另一个选项卡或从segue切换回视图控制器,则不应触发任何内容。因此,对于像展开方法prepareForSegue
这样的方法,请设置一个断点,并查看切换回来时会发生什么变化。然后你会发现你的约束第二次开始工作的原因。