我看到一個奇怪的情況。我在導航欄中放置了一個搜索欄,並將UISearchDisplayController與搜索欄關聯起來。現在,當用戶點擊搜索欄時,搜索顯示控制器傾向於隱藏導航欄(因此也隱藏搜索欄)。爲了反駁說,我子類UISearchDisplayController並實施了下面的代碼: -UISearchDisplayController隱藏導航欄
- (void)setActive:(BOOL)visible animated:(BOOL)animated
{
[super setActive: visible animated: animated];
[self.searchContentsController.navigationController setNavigationBarHidden: NO animated: NO];
}
現在,這種解決原有問題。我能夠搜索並導航到其他控制器。
但是,可以說我對視圖控制器A進行搜索,然後單擊搜索結果,然後將視圖控制器B推到導航堆棧上。現在,如果我彈出視圖控制器B並返回到A,則我的導航欄消失。它看起來像搜索顯示控制器是活動的,所以它隱藏了導航欄。
如果我使搜索顯示控制器處於非活動狀態,然後按下視圖控制器B然後彈出它,則會出現導航欄。
那麼,有沒有什麼辦法可以讓我的搜索顯示控制器保持活動狀態,並且當我從導航堆棧中彈出視圖控制器B時,導航欄不會消失?
而且我針對iOS6的
(這是一個很長的代碼,所以不知道我應該在這裏張貼的內容)。
工作就像一個魅力,應該被接受的答案。 – Matt