ios - 在 iOS 12 中更改 MFMailComposeViewController 中导航栏的标题颜色不起作用

标签 ios iphone swift uinavigationbar mfmailcomposeviewcontroller

<分区>

如何在 iOS 12MFMailComposeViewController 中更改 UINavigationBar 的标题颜色?

这就是我正在做的:

import MessageUI

extension MFMailComposeViewController {
    open override func viewDidLoad() {
        super.viewDidLoad()
        navigationBar.isTranslucent = false
        navigationBar.isOpaque = false
        navigationBar.barTintColor = .white
        navigationBar.tintColor = .white
        navigationBar.titleTextAttributes = [.foregroundColor: UIColor.white]
    }
}

在 iOS 10 中工作:

ios 10

在 iOS 11 中工作:

ios 11

在 iOS 12 中不工作:

ios 12

最佳答案

/// UINavigationBar
     let navBarAppearance = UINavigationBar.appearance()
     navBarAppearance.barTintColor = .red
     navBarAppearance.tintColor = .white
     navBarAppearance.backgroundColor = .red

     navBarAppearance.titleTextAttributes = [
         .foregroundColor: UIColor.white,
         .font: UIFont.systemFontSize
     ]
     navBarAppearance.largeTitleTextAttributes = [
         .foregroundColor: UIColor.white,
         .font: UIFont.smallSystemFontSize
     ]

     let barButtonAppearance = UIBarButtonItem.appearance()
     barButtonAppearance.setTitleTextAttributes([.font: UIFont.systemFontSize], for: .normal)

     navBarAppearance.isTranslucent = false


     if #available(iOS 13.0, *) {
         let appearance = UINavigationBarAppearance()
         appearance.configureWithOpaqueBackground()
    
         appearance.backgroundColor = navBarAppearance.backgroundColor
         appearance.titleTextAttributes = navBarAppearance.titleTextAttributes ?? [:]
         appearance.largeTitleTextAttributes = navBarAppearance.largeTitleTextAttributes ?? [:]
    
         navBarAppearance.standardAppearance = appearance
         navBarAppearance.scrollEdgeAppearance = appearance
     }

关于ios - 在 iOS 12 中更改 MFMailComposeViewController 中导航栏的标题颜色不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52522308/

相关文章:

swift - 从 Swift 异常生成错误表

ios - 在 xcode 项目中使用未解析的标识符 'cell'

ios - 强制 iPad 视网膜模拟器适应 MacBook Air 屏幕

ios - 在 AVExportSession 中暂停视频

ios - Xcode 上的 Swift - 具有多个值的数组索引

iphone - 在 Instruments 中分析 iPhone 应用程序时缺少符号名称

iphone - 有没有办法从 shouldAutorotateToInterfaceOrientation 跳过旋转动画?

objective-c - UIScrollView 就像新的 iOS App Store

iphone - 如何为 View 的同时旋转和缩放设置动画?

swift - Sprite 怎么开始闪烁?