4

我正在製作通用應用程序,使用故事板,並且我已將UISearchBarUISearchDisplayController添加到我的某個表格視圖中。我把它全部吸引住了,並且可以很好地搜索。問題是當我將新的視圖控制器推到導航堆棧上時。在iPhone上,這很好,但在iPad上,它會導致推送的視圖控制器在導航欄下方偏移(我不得不手動讓導航欄重新出現,以便您可以返回)。iPad桌面視圖上的UISearchBar在導航控制器欄下消失

然後,當你瀏覽回哪裏搜索正在發生的原始表視圖,搜索仍然活躍,但UISearchBar隱時現的導航欄後面,意思是有沒有辦法消除它,但不刪除查詢。這也意味着它不再可用,因爲你不能回到它。

可能最好的說明使用一些截圖。

下面是它的外觀,當你第一次打開實現代碼如下:

enter image description here

然後做搜索是罰款:

Doing the search is fine

點擊進入到下一個屏幕,我們可以看問題:

enter image description here

然後回原來的屏幕上,還在做搜索,但沒有搜索框:

Search box half-buried

然後,如果我刪除一切從搜索框,並擺脫了疊加的,我可以看到當我向上滾動表格視圖時的搜索框,但無法達到它。儘管如此,我無法獲得可靠的屏幕截圖。

我到處尋找解決方案,但一直沒有找到。我已經嘗試在viewDidAppear方法中調用[self setNeedsDisplay][self setNeedsLayout],但這似乎沒有效果。如果我改變設備的方向,它似乎會糾正自己,我試圖通過調用這些方法來複制它在那種情況下會做的事情。

iPad的故事板的結構是:SplitViewController - >導航器 - >UITabBarController - >UITableViewController(含UISearchBar etc.f) - >UITableViewController

回答

1

我提出這個問題給蘋果DTS,他們回答說:

iPad的故事板的結構是:SplitViewController - >導航器 - >的UITabBarController - >的UITableViewController(包含的UISearchBar etc.f) - >的UITableViewController

事實是,你的項目阿爾基但不符合我們的指導原則: 從iOS視圖控制器目錄的組合視圖控制器界面部分: 然而,組合視圖控制器時,包含的順序很重要;只有某些安排是有效的。遏制的順序,從子到父,如下:

內容視圖控制器和容器視圖控制器具有柔性邊界(如頁面視圖控制器) 導航視圖控制器 標籤欄控制器 拆分視圖控制器

基本上,你應該有一個結構如下: SplitViewController - >的UITabBarController - >導航控制器 - >的UITableViewController(包含的UISearchBar etc.f) - >的UITableViewController>

+0

我有類似的問題,固定通過改變導航欄從半透明到不透明,突然間他開始工作 - 這可能是一個IOS 7的事情。 – 2013-12-12 21:51:46

+1

Hi Rob。我有同樣的問題,但不明白你在這裏說什麼。我該如何解決? – Lucas 2014-03-30 14:00:37

相關問題