如果这是重复,请原谅我。我当然认为这是一个显而易见的问题。
我在故事板中有一个容器,它是ModelViewController类(整个视图控制器)。从ModelViewController我需要获取容器的宽度和高度。我正在尝试:
self.view.bounds.size
产生0.563380和0.000000。我也试过
self.view.frame.size
这会产生整个屏幕的尺寸。我在这里缺少什么?
答案 0 :(得分:10)
查看框架在viewDidLoad中实际上不可用;您应该将所有几何操作代码移动到viewWillAppear中。系统会破坏你在viewDidLoad中设置的任何更改,以及它在屏幕上显示的时间。
评论
实际上,您应该将几何体更改移动到iOS 5之前的-viewDidAppear和iOS 5+的-viewWillLayoutSubviews。 -viewWillAppear:如果正在为视图设置动画,则可能实际上没有正确的边界/方向。
我找到了解决方案。从viewWillLayoutSubviews
调用时确实给出了正确的尺寸。我在viewDidLoad
打电话给出错误的结果。