2

當搜索欄變爲活動狀態時,它會跳轉。看到動畫GIF。當searchDisplayController變爲活動狀態時,導航欄中的搜索欄動畫問題

結果:http://postimg.org/image/66bdqqgvb/

搜索#2的解決方案,我發現了以下設置:

self.edgesForExtendedLayout = UIRectEdgeNone; 

結果:http://postimg.org/image/y5gf4bb9b/

的跳走了,但現在的搜索欄不包括狀態欄了。

更新

使得相同的顏色searchfield使得它看起來罰款雖然這是怎樣的一個黑客的窗口的背景顏色。

+0

請發表你的看法控制器的場景擴展了文檔大綱故事板的圖像 – CoderPug

+0

他沒有故事板使用。 – SpacyRicochet

回答

1

你應該有

self.edgesForExtendedLayout = UIRectEdgeAll; 

代替,但這只是把你帶回你的第一個國家。因此,我會環顧其他可能導致此問題的操作,並提供您在啓動/解除搜索時所執行的任何其他信息。你在主線程中執行額外的後臺操作或動畫嗎?

編輯

這裏去另一個建議,很少在動畫看起來像你的表視圖分離的搜索欄移動。所以請仔細檢查您的搜索欄是否在您的表格視圖中。

+0

搜索欄位於tableHeaderView中,當搜索欄變爲活動狀態時,不會執行其他代碼。 –

+0

當您查看第一個GIF並等待搜索欄動畫成非活動狀態時,您可以看到searchContentsController不覆蓋底部的整個區域。不包括大約20像素(與statusbarheight相同)。這可能是原因嗎? –

0

這似乎是iOS 7中的一個錯誤。設置edgesForExtendedLayout = UIRectEdgeNone;確實解決了它,但是在搜索欄上方有一個欄。我發現的最佳解決方案是讓您的導航欄變得透明。出於某種原因,僅當導航欄不透明時,動畫纔會被破壞。

self.navigationController.navigationBar.translucent = YES;