自定义 MFMailComposeViewController

Ste*_*ani 5 uinavigationbar uibarbuttonitem uiappearance mfmailcomposeviewcontroller ios13

我在自定义MFMailComposeViewControlleriOS 13 上的外观时遇到问题。

我的应用程序在导航栏中使用深色导航栏和白色色调。

    UINavigationBar.appearance().tintColor = BrandManager.globals.textColor
    UINavigationBar.appearance().titleTextAttributes = [NSAttributedString.Key.foregroundColor: UINavigationBar.appearance().tintColor]
    // navBar color for app
    UINavigationBar.appearance().barTintColor = BrandManager.primaryColors.background
    // navBar color for some sharing containers…except MFMessageComposeVC & SLComposeVC (twitter)
    UINavigationBar.appearance().backgroundColor = BrandManager.primaryColors.background
    // navBar color for MFMessageComposeVC & SLComposeVC
    UINavigationBar.appearance().setBackgroundImage(UIImage(color: BrandManager.primaryColors.background), for: .default)

    UIBarButtonItem.appearance(whenContainedInInstancesOf: [UINavigationBar.self]).tintColor = BrandManager.globals.textColor
Run Code Online (Sandbox Code Playgroud)

这适用于 iOS 12 及更早版本。

对于 iOS 13,我得到以下非常奇怪的行为,其中栏按钮项为白色,标题文本为黑色,向上滚动会在正确的导航栏颜色上产生这种奇怪的半透明白色。

显示滚动如何影响视图控制器的图像

我已经尝试了所有我能想到的UIBarButtonItem外观组合,但似乎没有任何效果。我发现的大多数其他解决方案都与 iOS 13 无关。