2015-09-30 28 views
4

我用過UISearchController。當我點擊搜索欄時,導航欄隱藏並且搜索欄會轉到屏幕的頂部。但是,它顯示在屏幕的頂部和搜索欄如何在搜索處於活動狀態時更改statusBar背景顏色?

enter image description here

如何更改狀態欄。顏色爲默認搜索欄灰色之間的額外空間?

enter image description here

狀態欄字體顏色爲白色,因此,當用戶點擊搜索欄,上面自動狀態欄信息變成invisible.So我只需要覆蓋默認灰色該區域也是如此,那麼用戶可以清楚地看到狀態bar.Like這

enter image description here

+1

,我們不能因爲在默認情況下刪除空間,我們有一些UI。 –

+0

您是否曾經爲非故事板使用過這個問題? – DoctorG

+0

是啊,你的問題是什麼? –

回答

1

想通了,只需要將此代碼添加到viewDidLoad中: -

definesPresentationContext = true 
2

額外的空間就是你的狀態欄,你在你的白色背景丟失。

func viewDidLoad() { 
    super.viewDidLoad() 
    edgesForExtendedLayout = UIRectEdge.None 
} 
+0

它不工作:( –

1

您可以嘗試之一以下基於具體的實現:

如果您使用的故事板點擊您已爲您的實現代碼如下,去其屬性視圖控制器或TableView中控制器然後查看ViewController部分,並將Extend Edges部分設置爲Top Bars。

如果你不使用故事板設置使用viewcontrollers edgesForExtendedLayout屬性的設置,並應該做的伎倆。

+0

已經做你所描述的,仍然有這個問題:( –