我試圖改變狀態欄中的文本顏色以匹配其餘的應用外觀。我可以更改導航欄的文本顏色爲MFMailComposeViewController足夠容易:如何在使用Swift的MFMailComposeViewController中更改狀態欄中的文本顏色
myEmailComposerViewConotroller.navigationBar.tintColor = UIColor.whiteColor()
我錯過了上改變了狀態欄的文本顏色在API中的東西嗎?
我試圖改變狀態欄中的文本顏色以匹配其餘的應用外觀。我可以更改導航欄的文本顏色爲MFMailComposeViewController足夠容易:如何在使用Swift的MFMailComposeViewController中更改狀態欄中的文本顏色
myEmailComposerViewConotroller.navigationBar.tintColor = UIColor.whiteColor()
我錯過了上改變了狀態欄的文本顏色在API中的東西嗎?
我從你的問題的理解,我想你會想要做這樣的事情:
myEmailComposerViewConotroller.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName : UIColor.whiteColor()]
titleTextAttributes
的類型是[NSObject: AnyObject]?
所以這就是爲什麼我們把它初始化爲:
[NSForegroundColorAttributeName : UIColor.whiteColor()]
我已經回答了類似的某物這裏:how to change statusbar color in one view controller using swift?
在project.plist設置View controller-based status bar appearance
到NO
子類的MFMailViewController
和實現自定義viewWillAppear
和viewWillDisappear
功能
使用viewWillAppear
並viewWillDisappear
設置和重置statusBarStyle,同時保持性能與前statusBarStyle像這樣
let initialStatusBarStyle : UIStatusBarStyle
func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
initialStatusBarStyle = UIApplication.sharedApplication().statusBarStyle
UIApplication.sharedApplication().setStatusBarStyle(.LightContent, animated: animated)
}
func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(animated)
UIApplication.sharedApplication().setStatusBarStyle(initialStatusBarStyle, animated: animated)
}
我實際上是想改變狀態欄上的文本顏色,而不是導航b AR。我上面發佈的片段實際上將導航欄文本色調設置爲白色,包括取消和發送按鈕。 –