UIVIew大小在界面构建器中使用设备大小而没有约束

时间:2017-09-10 13:13:05

标签: ios iphone swift uiview interface-builder

我在界面构建器中有以下场景。

enter image description here

以及控制器的viewDidLoad函数中的以下代码

print(String.init(format:"baseCircleView width %f height %f", baseCircleView.bounds.size.width, baseCircleView.bounds.size.height))
print(String.init(format:"userDrawingView width %f height %f", userDrawingView.bounds.size.width, userDrawingView.bounds.size.height))
print(String.init(format:"View width %f height %f", self.view.bounds.size.width, self.view.bounds.size.height))

当我启动应用程序时(在iPhone6模拟器上,但在故事板中选择了“查看为:iPhone SE”),我在控制台中有以下内容:

  

baseCircleView宽度320.000000高度504.000000

     

userDrawingView宽度320.000000高度504.000000

     

查看宽度375.000000高度667.000000

我不明白为什么我的2个视图会从故事板中选择的“查看为:iPhone SE”设备推断其大小,而不是他们的超级视图。

有人可以帮我弄清楚出了什么问题吗?

1 个答案:

答案 0 :(得分:2)

您应该在viewDidLayoutSubviews上测试您的约束。

以下是有关UIViewController生命周期的其他信息的博客文章: https://blog.caramba.io/ios-uiviewcontroller-lifecycle-261e3e2f6133