2016-04-14 50 views
0

我在視圖中添加了導航欄,但狀態欄的背景色與我的導航欄不一樣。像這樣: enter image description hereSwift如何更改狀態欄的lground導航欄的底色顏色並非全部視圖

我搜索互聯網上的信息,我可以找到如何更改狀態欄的顏色,但我無法找到如何改變背景顏色像導航欄的顏色......莫非你有助於解決這個問題:設置背景顏色狀態欄,如導航欄的顏色爲一個視圖?謝謝。

+0

您更改barTint顏色以更改導航欄的顏色。另外,確保酒吧不是半透明的。這個問題看起來更像是一種半透明的東西,而不是錯誤的顏色,但我不是100%確定的。 –

+0

謝謝你的回答,但我想更改狀態欄**的**背景顏色,而不是導航欄...我可以更改導航欄的顏色...但我無法更改**背景狀態欄的顏色** – user2262304

+0

哦,狀態欄只有2種顏色,您必須在控制器的狀態欄後面放置一個視圖並更改其顏色。您可以通過重寫preferredStatusBarStyle並返回UIStatusBarSyle(這裏是樣式枚舉值)來更改狀態欄顏色。您可能可以設置條形色調......或者可能爲您的應用在某處設置通用色調,但我不記得。沒有直接的方法來改變狀態欄的背景顏色。 –

回答

0

您可以使用:

UIApplication.sharedApplication().setStatusBarStyle(UIStatusBarStyle.LightContent, animated: true) 
+0

你好,這是**狀態欄**的顏色,它不是**狀態欄的背景顏色** – user2262304

+0

那麼你可以試試這個: func setStatusBarBackgroundColor(color:UIColor){{0} {0} {0} {0} sharedApplication()。valueForKey(「statusBarWindow」)?。valueForKey(「statusBar」)as? UIView else { return } statusBar.backgroundColor = color } – itechnician

1

如果您使用的是梯度layer.Here是代碼只是嘗試做讓我知道,您可以更改狀態欄的顏色。

let colorTop = UIColor(red: 69/255, green: 90/255, blue: 195/255, alpha: 1.0).CGColor 
    let colorBottom = UIColor(red: 230/255, green: 44/255, blue: 75/255, alpha: 1.0).CGColor 

    let gradientLayer = CAGradientLayer() 
    gradientLayer.colors = [ colorTop, colorBottom] 
    gradientLayer.locations = [ 0.0, 1.0] 
    gradientLayer.frame = CGRectMake(0, -20, 375, 64) 

    self.navigationController?.navigationBar.layer.addSublayer(gradientLayer) 
+0

請在答案上打勾。請提前感謝您。 –