I changed the look of UIBarButtonItem and UINavigationBar titleTextAttributes to my custom font along with color on white using the Appearance proxy in the applicationDidFinishLaunching application. Each navigation header text and BarButtonItems use a special font.
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { application.setStatusBarStyle(UIStatusBarStyle.LightContent, animated: false) UINavigationBar.appearance().barStyle = UIBarStyle.BlackTranslucent UINavigationBar.appearance().barTintColor = NSFontAttributeName:SharedHelper.myCustomBarColor() UINavigationBar.appearance().titleTextAttributes =[NSForegroundColorAttributeName:UIColor.whiteColor()] UIBarButtonItem.appearance().tintColor = UIColor.whiteColor() let attributes = [NSFontAttributeName:SharedHelper.customFontForBarButton()] UIBarButtonItem.appearance().setTitleTextAttributes(attributes, forState: UIControlState.Normal) return true }
The problem occurs when I use MFMailComposeViewController to send email. MFMailComposeViewController ignores font attributes and reverts to default fonts. In the iPhone 5S simulator, I sometimes see a custom font, but it reverts to the standard font.

Some time shown in the iPhone Simulator 5S. (I'm trying to do this)

The default font is used after a few seconds.
Any help on this? Should the appearance proxy work for both the UIBarButton and NavigationBar MFMailComposeViewController, or does encoding need to do this?
I am using Swift, and also trying to use Alexander's WenContainedIn appearance using Bridge, but it doesn't seem to work. I am worried about changing the font titleText and BarButtonItems (cancel, send) MFMailComposeViewController.
Thanks in advance. Any help would be greatly appreciated.
source share