簡體   English   中英

iOS 7 UISearchDisplay控制器隱藏了導航控制器的欄

[英]iOS 7 UISearchDisplay controller is hiding Navigation controller's bar

我正在從iOS 6過渡到iOS 7的應用程序中遇到此問題。

我在xib中有一個導航欄,在它們的下面是帶有UISearchDisplayController子類的表格視圖; 因為我必須處理搜索默認行為,這會使搜索欄上升,並通過以下代碼在iOS 6中將導航欄隱藏在其下方:

-(void)setActive:(BOOL)visible animated:(BOOL)animated
{
    if(self.active == visible)
    {
        return;
    }

    [self.searchContentsController.navigationController setNavigationBarHidden:YES animated:NO];
    [super setActive:visible animated:animated];
    [self.searchContentsController.navigationController setNavigationBarHidden:NO animated:NO];

    if (visible) {
        [self.searchBar becomeFirstResponder];
    } else {
        [self.searchBar resignFirstResponder];
    }
}

現在,我想將其過渡到iOS 7,行為發生了變化,每當我在搜索欄中寫入文本時,導航欄便會隱藏而不會使搜索欄上升,並且搜索結果表會被搜索欄覆蓋,因此導航欄保持隱藏狀態直到搜索結束。

我想知道此行為的原因是什么,如何在不隱藏導航欄的情況下保持相同的行為。

在此先感謝,感謝您的幫助。

至於造成這種情況的原因,我相信這是UISearchDisplayController的標准操作過程(以及iOS 8的UISearchController )。 當發現UISearchBar作為UITableViewtableHeaderView時, UINavigationControllerUITableView等以非常特殊的方式起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM