die Schaltfläche Senden und Abbrechen auf etwas anderes als weiß auf einem weißen Hintergrund fest Manchmal erscheinen die Schaltflächen Senden und Abbrechen weiß, so dass sie auf dem weißen Hintergrund auf dem MFMailComposeViewController fast unsichtbar sind. Die Instanz von MFMailComposeViewController wird erstellt, nachdem eine UITextView mit dataDetectorTypes .link drücken, so konnte ich nicht sofort die Instanz zugreifen, bevor in der viewDidLoad Funktion unten:Legen Sie in MFMailComposeViewController
extension MFMailComposeViewController {
override public func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.LightContent
}
override public func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(animated)
UINavigationBar.appearance().barTintColor = UIColor.blackColor()
}
override public func viewDidLoad() {
UINavigationBar.appearance().barTintColor = UIColor.redColor()
navigationBar.barTintColor = UIColor.blueColor()
super.viewDidLoad()
navigationBar.translucent = false
navigationBar.opaque = false
}
}
Wie kann ich die Standardfarben auf den Tasten auf dem MFMailComposeViewController eingestellt und vermeiden Sie, die Navigationsleisten im Rest der App durcheinander zu bringen?
Wie es jetzt ist, wird die barTintColor nicht beim ersten Mal gesetzt. Aber beim zweiten Mal ist es auf blackColor eingestellt, ich denke, von der viewWillDisappear Aufruf von der vorherigen Instanz.
Didi Sie versuchen, es in 'UINavigationController' (das ist bereits formatiert, wie Sie benötigen) vor der Präsentation? Auch wenn Sie in Ihrer App einen anderen 'UINavigationController' verwenden, können Sie einen anderen nur für' MFMailSomposeViewController' erstellen. – NSDmitry