我注意到,當我的iPhone應用程序在iPad2(iOS版本4.3.3)上暫停後進入前臺時,iPhone屏幕似乎在瞬間移動一小段時間。我的理解是,iOS在暫停應用程序之前拍攝屏幕快照,以便在恢復時可以快速恢復,但我不清楚它爲什麼會移動。狀態欄佔位符和iPhone圖像不會移位,只有iPhone屏幕的其餘部分。我在5.0模擬器中沒有看到這個問題。當進入前景時iPhone屏幕移動
任何想法發生了什麼或如何解決這個問題?謝謝
我注意到,當我的iPhone應用程序在iPad2(iOS版本4.3.3)上暫停後進入前臺時,iPhone屏幕似乎在瞬間移動一小段時間。我的理解是,iOS在暫停應用程序之前拍攝屏幕快照,以便在恢復時可以快速恢復,但我不清楚它爲什麼會移動。狀態欄佔位符和iPhone圖像不會移位,只有iPhone屏幕的其餘部分。我在5.0模擬器中沒有看到這個問題。當進入前景時iPhone屏幕移動
任何想法發生了什麼或如何解決這個問題?謝謝
當應用程序加載時,它會顯示應用程序包中的default.png文件。如果您的圖像與應用的第一個屏幕相同(哪個蘋果建議您應該這樣做),那麼它將顯示此圖像,然後在應用完成初始化後顯示實際屏幕。你可以通過向上移動一個或兩個像素來編輯PNG文件(你只需要猜測和檢查,看看你需要什麼)。
另一種可能性是,你的default.png不是合適的大小,所以它在應用程序實際啓動時被調整大小。檢查您正在測試的設備的尺寸是否正確。
將狀態蝙蝠設置爲初始隱藏對我造成這種情況。
狀態欄最初是隱藏的是
這個固定
- (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];
}
看來,設置,然後正在重置(在短暫的延遲後)在狀態欄解決了這個問題。
這解決了它,但它不應該在第一個地方發生。
是的,當你再次來到前景時會發生。它與我發生&我以
(void)layoutSubviews
這意味着我畫中移動&它工作正常layoutSubviews方法的事情解決了這個問題。
感謝您的回覆。最初,我認爲它也是default.png,但是當我按Home按鈕掛起應用程序,然後恢復它時,會發生在我的應用程序中的任何屏幕。 – rimsky