5

如果这是重复的,请原谅我。我确信这将是一个显而易见的问题。

我在故事板中有一个容器,它属于 ModelViewController 类(整个视图控制器)。从 ModelViewController 我需要获取容器的宽度和高度。我目前正在尝试:

self.view.bounds.size

产生 0.563380 和 0.000000。我也试过

self.view.frame.size

这会产生整个屏幕的尺寸。我在这里想念什么?

4

1 回答 1

11

这个帖子

视图框架在 viewDidLoad 中实际上是不可用的;您应该将所有几何操作代码移到 viewWillAppear 中。系统将破坏您在 viewDidLoad 中设置的任何更改,从那里到汤姆即将出现在屏幕上。

和评论

实际上,您应该将几何更改移动到 iOS 5 之前的 -viewDidAppear 和 iOS 5+ 的 -viewWillLayoutSubviews。-viewWillAppear:如果视图被动画化,实际上可能没有正确的边界/方向。

我找到了解决方案。从 调用时确实给出了正确的尺寸viewWillLayoutSubviews。我打电话viewDidLoad给不正确的结果。

于 2014-08-27T05:04:08.417 回答