3

我正在使用下面的代码来创建启动画面图像。我遇到的唯一问题是视图随后出现在屏幕顶部下方 20 像素处。检查 appFrame 的属性后,我可以看到原点和高度不正确。当我加载下一个视图时,它增加了 20 像素,变成了 40 像素!我在这里做错了什么?是什么导致了 20 像素的差距?

CGRect appFrame = [[UIScreen mainScreen] applicationFrame];
UIView *view = [[UIView alloc] initWithFrame:appFrame];
view.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
self.view = view;

splashImageView_ = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"splashpage.png"]];

在此处输入图像描述

4

2 回答 2

5

主屏幕的框架是相对于它的父视图的,所以它包含一个 20px 的状态栏偏移量。当您将其设置为框架时,您是在说您的视图应该在其父视图顶部下方 20px 处具有原点

您应该将视图的框架设置为屏幕的边界

于 2012-07-27T13:52:20.160 回答
1

您可以在应用程序的 Info.plist 文件中将“状态栏最初隐藏”属性设置为“是”。

iOS 会为你取下它并重新调整你的屏幕尺寸

于 2012-07-27T14:08:09.930 回答