如果我使用这种方法,是否有办法将屏幕设置为完整的 320x480 而不是隐藏状态栏之前的 320x460?
非常感谢,-代码
将此代码写入 AppDelegate.m 文件
[[UIApplication sharedApplication] setStatusBarHidden:YES];
此代码用于隐藏状态栏。所以你可以得到视图大小是 320 X 480 而不是 320 X 460。
确保您的窗口设置为使用 [UIScreen mainScreen] bounds] 作为它的框架,并在您的第一个视图控制器上设置了 setWantsFullScreenLayout。
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
UIViewController *viewController = [[UIViewController alloc] init];
[viewController setWantsFullScreenLayout:YES];
[self.window setRootViewController:viewController];
我通常在应用程序委托中隐藏状态栏。然后每当我需要创建一个新的视图控制器时,我都会删除它附带的 UIView。我在屏幕上添加了一个新的 UIView 并将其大小设置为 320 x 480 并将其连接到文件所有者的“视图”插座。根据我的经验,如果 UIView 设置为 320 x 460 并且状态栏是隐藏的,那么在运行时视图会被拉伸 20 像素。这会对某些子视图造成模糊效果。
如果您将 IB 用于情节提要或更传统的方式,请确保将状态栏的 UIViewController 设置设置为“无”。这将确保您创建并添加到其中的视图将是完整大小,而不是设置为更小的东西。
您还需要向 plist 添加一个条目,称为“状态栏最初隐藏”或 UIStatusBarHidden,并将其设置为“是”。这将阻止操作系统显示应用程序的状态栏。
通过做这两件事,您可以确保您拥有全屏。