我注意到当我的iPhone应用程序在iPad2(iOS版本4.3.3)上暂停后进入前台时,iPhone屏幕似乎在瞬间上升了一小部分。我的理解是iOS在暂停应用程序之前拍摄了屏幕的快照,因此它可以在恢复时快速恢复,但我不清楚它为什么会被移动。状态栏占位符和iPhone图像不会向上移动,只有iPhone屏幕的其余部分会移动。我在5.0模拟器中没有看到这个问题。
任何想法发生了什么或如何解决这个问题?感谢
答案 0 :(得分:1)
当应用加载时,它会显示您的应用包中的default.png文件。如果您的图像与应用程序的第一个屏幕相同(苹果建议您应该这样做),那么它将显示此图像,然后在应用程序完成初始化后显示实际屏幕。您可以通过向上移动一两个像素来编辑png文件(您只需要猜测并检查以确切了解您的需求)。
另一种可能性是你的default.png不是正确的大小,所以当应用程序实际启动时它会被调整大小。检查您正在测试的设备的尺寸是否正确。
答案 1 :(得分:0)
将状态指定设置为最初隐藏导致了这一点。
状态栏最初隐藏为是
这解决了它
- (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];
}
似乎设置然后重置(在短暂延迟之后)状态栏可以解决此问题。
这解决了它,但它不应该首先发生。
答案 2 :(得分:0)
是的,当你再来到前景时会发生这种情况。它发生在我身上我已经使用
解决了这个问题 (void)layoutSubviews
这意味着我在layoutSubviews方法中绘制了一些东西。它工作正常。
的更多信息