Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在iPhone上,我是否需要说明顶部状态栏的20px?_Iphone_Uikit - Fatal编程技术网

在iPhone上,我是否需要说明顶部状态栏的20px?

在iPhone上,我是否需要说明顶部状态栏的20px?,iphone,uikit,Iphone,Uikit,在iPhone上,在手动将子视图添加到窗口视图时,我是否需要为顶部状态栏的20px设置帐户?也就是说,我是否需要创建帧设置为0、20、320、460的视图: UIView *myView = [[UIView alloc] initWithFrame:CGRectMake(0, 20, 320, 460)]; [window addSubview:myView]; 如果有,是否有与此相关的官方指南?我只是被它卡住了,经过一些实验,它似乎确实是这样。这意味着,当从nib文件创建视图时,它总是以静

在iPhone上,在手动将子视图添加到窗口视图时,我是否需要为顶部状态栏的20px设置帐户?也就是说,我是否需要创建帧设置为0、20、320、460的视图:

UIView *myView = [[UIView alloc] initWithFrame:CGRectMake(0, 20, 320, 460)];
[window addSubview:myView];
如果有,是否有与此相关的官方指南?我只是被它卡住了,经过一些实验,它似乎确实是这样。这意味着,当从nib文件创建视图时,它总是以静默方式向下移动20像素,因为当使用Interface Builder时,视图高度已设置为460px,并且当视图添加到窗口时,它已正确定位


另一方面,这看起来有点笨重和短视。为什么苹果会硬编码20像素,然后进行神奇的偏移?作为一名程序员,为什么我需要了解并假设任何关于状态栏的事情?为什么窗口本身没有偏移?是否存在已知的限制/问题?或者它有原因吗?

当您设置图幅时,通常不会

状态栏可以有效地缩小画布


现在,我看到了一些奇怪的异常,但在做基本的接口工作时,没有一个是相关的。

Hmm-当我创建这样一个视图时:UIView*myView=[[UIView alloc]initWithFrame:CGRectMake0,0,320,20];myView.backgroundColor=[UIColor redColor];并将其添加到窗口中,视图完全被状态栏覆盖。但我同意那些怪人的看法。我看到有人抱怨在某些特殊情况下,视图可能会偏移20px。如果您查看任何UIViewController XIB并模拟状态栏,您可以清楚地看到坐标系是0,0,就在状态栏下。。。作为父视图,UIWindow可能是另一种情况。类似主题: