根据iPad状态栏的数量,子视图的位置不正确

时间:2010-04-29 19:28:18

标签: iphone objective-c user-interface orientation subview

我有一个全屏视图(768x1004),当我在此视图中添加全屏子视图时,它被状态栏的高度(20像素)错误定位。因此视图将在顶部剪切20像素。我无法弄清楚为什么会这样。我可以修复它的唯一方法是在viewDidLoad中将原点设置为CGPointMake(0,20)。

我有主xib,它包含一个视图控制器(MainViewController)和一个视图,MainView。全屏模式未开启。然而,它仍然被状态栏的数量错误地定位。如果我只是将它向下移动20像素一切正常,那么这不是什么大不了的事情,但是为什么这样的事情会发生这很烦人。

4 个答案:

答案 0 :(得分:3)

如果在UIViewController中设置wantsFullScreenLayout属性,则表示您希望全屏为1024x768,而不是1004x768。全屏意味着包括状态栏。您可以隐藏状态栏,并显示其下的区域。如果您希望使用状态栏正确调整内容的大小,请确保已关闭该属性。

答案 1 :(得分:0)

(768x1004)的“全屏”视图不正确(或者是类型-o?)应该是(768x1024)。这可能会导致您的20像素问题。

答案 2 :(得分:0)

确保已启用调整子驱动程序的大小,并将子视图锚定到父级的底部而不是顶部。在IB中轻松完成,通过取消选择顶部粘性并启用底部粘性。

答案 3 :(得分:0)

我在iPhone项目上遇到了同样的问题。它以某种方式与一个界面构建器错误有关,它扰乱了我的视图xib。我只是从我的版本控制系统中恢复它,重新应用我的更改。第二次一切都很好,没有位置偏移的问题。

如果这不是一个选项,请尝试手动查看你的xib(这是一个xml文件)并检查你是否可以看到明显错误的东西。

请注意,iPad SDK仍为测试版。