2013-04-29 39 views
0

我有兩個由導航控制器推送的視圖控制器。當第一個視圖控制器處於活動狀態時,將使用一個定時器來隱藏狀態欄和動畫(定時器通過調用[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade]來調用內部隱藏狀態欄的方法)。 當用戶點擊視圖時,第二個視圖控制器被壓入堆棧。第二個視圖控制器需要狀態欄可見才能正確顯示導航欄。有時會發生什麼情況是,當第二個視圖控制器被推動時,狀態欄仍然是動畫,我最終得到了一個在屏幕之外的導航欄(基本上,第二個視圖控制器的視圖不顯示導航酒吧)。我想知道在推送之前是否有辦法停止狀態欄動畫,或者是否有解決此問題的標準方法。將新視圖控制器壓入堆棧時的狀態欄動畫

+0

你應該張貼你的代碼使用動畫狀態欄。 – rdelmar 2013-04-29 03:44:45

回答

0

你可以保持對它的引用您的計時器:當你想在狀態欄動畫

myTimer *timer = [NSTimer scheduledTimer...]; 

然後驗證這一點:

[myTimer invalidate]; 
myTimer = nil; 
+0

謝謝,我不認爲這是計時器的問題。事實上,我已經在第一個視圖控制器的viewWillDisappear中完成了你的建議。問題是隱藏我正在使用的狀態欄 - 「(void)setStatusBarHidden:(BOOL)hidden withAnimation:(UIStatusBarAnimation)animation',如果動畫在第二個視圖控制器位於我看到我描述的問題。 – Glauco 2013-04-29 02:10:11

相關問題