在iPhone上,我是否需要考虑顶级状态栏的20px?

时间:2010-08-01 18:30:40

标签: iphone uikit

在iPhone上,当手动将子视图添加到窗口视图时,我是否需要自己考虑顶级状态栏的20px ?也就是说,我是否需要创建一个框架设置为(0,20,320,460)的视图:

UIView *myView = [[UIView alloc] initWithFrame:CGRectMake(0, 20, 320, 460)];
[window addSubview:myView];

如果是的话,是否有一些与此相关的官方指南?我只是坚持下去,经过一些实验后,似乎确实如此。这意味着当从nib文件创建视图时,它总是默默地向下移动20个像素,因为当使用Interface Builder时,视图高度已经设置为460px,并且当视图添加到窗口时,它已经正确地定位。

另一方面,这看起来有点笨拙和短视。为什么Apple会对20像素进行硬编码并进行魔法补偿?作为一名程序员,为什么我需要知道并假设有关状态栏的任何信息?为什么窗户本身没有偏移?这是一个已知的限制/问题吗?或者它有原因吗?

1 个答案:

答案 0 :(得分:0)

设置视图帧时,通常不会。

状态栏有效缩小画布。

现在,我已经看到了一些奇怪的例外情况,但在进行基本的界面工作时,没有一个是相关的。