iOS9 MFMailComposeViewController的NavigationBar中的自定义字体?

Hug*_*nso 10 objective-c ios swift ios9 mfmailcomposeviewcontroller

好吧,这是我到目前为止:

在此输入图像描述

你可以在这里注意到我设法改变字体大小所以这很好,但我想要的样式还包括一个自定义字体.

请注意,实际样式会显示片刻,然后当状态栏更改为黑色字体时,自定义字体会丢失.

这是我在applicationDidFinish...中使用的代码

UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.LightContent

UINavigationBar.appearance().titleTextAttributes = [
     NSFontAttributeName: UIFont(name: "<MyCustomFont>", size: 32)!,
     NSForegroundColorAttributeName : UIColor.whiteColor(),
    ]

UINavigationBar.appearance().tintColor = UIColor.whiteColor()
UINavigationBar.appearance().opaque = true
UINavigationBar.appearance().barStyle = UIBarStyle.Black
UINavigationBar.appearance().barTintColor = UIColor.BlueColor()

UIBarButtonItem.appearance().tintColor = UIColor.whiteColor()

UIBarButtonItem.appearance().setTitleTextAttributes([
     NSFontAttributeName: UIFont(name: "<MyCustomFont>", size: 18)!,
     NSForegroundColorAttributeName : UIColor.whiteColor(),
    ], forState: UIControlState.Normal)
Run Code Online (Sandbox Code Playgroud)

注意:

我有一个实例,EKEventEditViewController风格正确应用.

问题似乎是MailComposer的相关问题

tym*_*mac -1

UIFont()是一个可失败的初始化程序,它可能会因多种原因而失败。

有人说不要强制解包并单独初始化并检查是否成功:

`if let font = UIFont(name: "customFont.ttf", size: 21) {
UINavigationBar.appearance().titleTextAttributes =  [NSFontAttributeName: font]
}`
Run Code Online (Sandbox Code Playgroud)

您是否尝试过单独初始化它?

  • 如果无法加载字体就会崩溃。这里的情况并非如此 (2认同)