如果这是重复的,请原谅我。我确信这将是一个显而易见的问题。
我在故事板中有一个容器,它属于 ModelViewController 类(整个视图控制器)。从 ModelViewController 我需要获取容器的宽度和高度。我目前正在尝试:
self.view.bounds.size
产生 0.563380 和 0.000000。我也试过
self.view.frame.size
这会产生整个屏幕的尺寸。我在这里想念什么?
如果这是重复的,请原谅我。我确信这将是一个显而易见的问题。
我在故事板中有一个容器,它属于 ModelViewController 类(整个视图控制器)。从 ModelViewController 我需要获取容器的宽度和高度。我目前正在尝试:
self.view.bounds.size
产生 0.563380 和 0.000000。我也试过
self.view.frame.size
这会产生整个屏幕的尺寸。我在这里想念什么?
从这个帖子
视图框架在 viewDidLoad 中实际上是不可用的;您应该将所有几何操作代码移到 viewWillAppear 中。系统将破坏您在 viewDidLoad 中设置的任何更改,从那里到汤姆即将出现在屏幕上。
和评论
实际上,您应该将几何更改移动到 iOS 5 之前的 -viewDidAppear 和 iOS 5+ 的 -viewWillLayoutSubviews。-viewWillAppear:如果视图被动画化,实际上可能没有正确的边界/方向。
我找到了解决方案。从 调用时确实给出了正确的尺寸viewWillLayoutSubviews
。我打电话viewDidLoad
给不正确的结果。