2012-05-21 43 views
2

這是對以前未解決的帖子的跟進。 我有一個navcontroller,tableview控制器和tableview中的搜索欄。所有這些都是在故事板中構建的。 然後,我選擇一個單元格時,以編程方式構建另一個視圖控制器。 我不想導航欄出現在這最後的觀點是,在viewWillDisappear我打電話viewWilldisappear和viewDiddisappear之間發生了什麼?

[self.navigationController setNavigationBarHidden:YES animated:animated]; 

如果我選擇在主要的tableView細胞這一切正常。 但是,如果在縮小搜索欄中搜索的數據後選擇了單元格,那麼導航欄將顯示在後續視圖中,但對setNavigationBarHidden的調用是在viewWillDisappear中進行的。

我試着在viewDidDisappear中重複這個調用,現在,導航條從後面的視圖中消失,儘管它被簡要地顯示。

我想知道在調用viewWilldisappear和viewDiddisappear之間會發生什麼,顯然會重置NavigationBarHidden屬性?

回答

1

這就是我發現的:NavigationBarHidden屬性顯然被重置,因爲當搜索欄離開視圖時,它將再次在視圖上發送導航欄。 我不知道我的理解到底發生了什麼,但此行的在我viewWillDisappear代碼解決了這個問題:

self.searchDisplayController.active=NO; 

依次爲:

[self.navigationController setNavigationBarHidden:YES animated:animated]; 

當然,我將非常樂意聽到真正理解這裏發生的事的人。

相關問題