1

我注意到,当我的 iPhone 应用程序在 iPad2(iOS 版本 4.3.3)上暂停后进入前台时,iPhone 屏幕似乎在一瞬间向上移动了一小部分。我的理解是,iOS 在暂停应用程序之前会拍摄屏幕快照,因此它可以在恢复时快速恢复,但我不清楚它为什么会被转移。状态栏占位符和 iPhone 图像不会上移,只有 iPhone 屏幕的其余部分会上移。我在 5.0 模拟器中没有看到这个问题。

任何想法发生了什么或如何解决这个问题?谢谢

4

3 回答 3

1

当应用程序加载时,它会显示您在应用程序包中拥有的 default.png 文件。如果此图像与您的应用程序的第一个屏幕相同(苹果建议您应该这样做),那么它将显示此图像,然后在应用程序完成初始化后显示实际屏幕。您可以通过向上移动一两个像素来编辑 png 文件(您只需猜测并检查以查看您需要的确切内容)。

另一种可能性是您的 default.png 大小不正确,因此在应用程序实际启动时正在调整它的大小。检查尺寸是否适合您正在测试的设备。

于 2012-07-04T00:35:14.703 回答
0

将状态棒设置为最初隐藏对我来说是这样的。

状态栏最初是隐藏的 YES

这修复了它

- (void) setStatusBarVisible: (NSTimer *)timer 
{
     [[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone];
}

- (void)applicationWillEnterForeground:(UIApplication *)application
{
     [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];

     [NSTimer scheduledTimerWithTimeInterval:0.05 target:self selector:@selector(setStatusBarVisible:) userInfo:nil repeats:NO];
 }

似乎设置然后重置(经过短暂延迟)状态栏解决了这个问题。

这解决了它,但它不应该首先发生。

于 2012-11-05T23:03:17.917 回答
0

是的,当您再次回到前台时会发生这种情况。它发生在我身上,我已经通过使用解决了这个问题

 (void)layoutSubviews

这意味着我在 layoutSubviews 方法中绘制的东西会发生变化并且工作正常。

有关这方面的更多信息,请查看我的问题和解决方案

于 2013-05-29T11:00:49.370 回答