0

我在情节提要中有一个 UIScrollView,它的高度设置为 548 或 460,具体取决于设备,即不包括状态栏的屏幕的全尺寸(参见屏幕截图)。

但是,当我运行代码并检查其边界时,viewDidLoad 中的大小为 568 或 480:

CGRect frame = self.slideshowScrollView.bounds; 
// frame.origin.y gets set to 480 or 568 not 460 or 548.

当 IB 不是时,为什么边界包括状态栏的大小?

(UIScrollView 在 UIView 中,IB 中它的大小也是 548 或 460,它也在 viewDidLoad 中显示为 480 或 568)。 在此处输入图像描述

在此处输入图像描述 在此处输入图像描述

4

3 回答 3

1

在 IB 中设置了视图控制器的想要全屏屏幕属性,这是问题的原因。

于 2013-06-10T20:04:13.463 回答
0

根据需要检查UIView属性集Statusbar属性default。它会解决你的问题。

于 2013-06-10T20:19:47.790 回答
0

在调用 viewDidLoad 时,您不应依赖于正确设置帧大小,无论是为主视图还是其子视图。相反,您可能会考虑 viewWillAppear。如果您检查 viewWillAppear 中的大小,那里是否正确?

于 2013-06-10T16:14:24.433 回答