3

我在這裏有一個非常非常奇怪的問題。我有一個帶有Tabbar控制器和4個選項卡的應用程序,每個都有一個導航控制器連接到一個Viewcontroller。一切都按照它應該的方式工作,但現在我已經添加了一個按鈕到幾個視圖,這會調用一個模態視圖控制器來滑動並顯示一些內容。在這個Modal VC中還有另一個按鈕來隱藏Modal View。 模態視圖隱藏之後,如果我點擊導航欄中的後退按鈕,視圖不會回放動畫,而只是在沒有動畫的情況下立即顯示前一個視圖,而導航欄的確是動畫。但是,當我使用標籤欄切換到另一個視圖並立即切換回來時,它突然再次開始工作。解除模態視圖控制器後背按鈕的動畫

我使用的是iOS SDK 6沒有故事板,因爲我已經在幾年前

這是我如何展示莫代爾VC開發的這個程序回在iOS 3.2:

-(void)reportIssue{ 
    ReportIssueViewController *rivc = [[ReportIssueViewController alloc] initWithNibName:@"ReportIssueViewController" bundle:[NSBundle mainBundle]]; 
    [self.navigationController presentModalViewController:rivc animated:TRUE]; 
    [rivc release]; 
} 

這就是我如何隱藏它:

- (IBAction)cancelIssue:(id)sender { 
    [self dismissViewControllerAnimated:TRUE completion:NULL]; 
} 

有沒有人曾經有過這樣一個奇怪的問題? 我會很高興有關如何擺脫這種行爲的任何想法。

在此先感謝。

+1

我看到過這種行爲的一個原因是沒有在viewDidAppear中調用super(也許在viewDidLoad和/或viewDidDisappear中)。 – rdelmar

+0

是的,它在一些Viewcontrollers中失蹤,但添加這些超級通話沒有幫助:-( – gasparuff

+0

你一直是對的!!!!! – gasparuff

回答

5

我發現了這個問題。我已經分類了UITabbarController,並且我已經添加了一個-(void)viewWillAppear函數,我已經放了一些邏輯。不幸的是我忘了在該函數中添加[super viewWillAppear:animated]調用。非常愚蠢的錯誤。

感謝rdelmar,他在我的問題的第一個評論中指出了可能的原因。

+1

OMG我不能相信它只是發生在我身上 – gasparuff

+0

在我的它是'viewDidAppear',但它有相同的結果。底線:總是確保你委派到超級,除非你明確不想。 –

相關問題