2015-09-07 16 views
5

Ho modificato l'aspetto di UIBarButtonItem e UINavigationBar titleTextAttributes nel mio Font personalizzato insieme a colore in bianco usando Appearance Proxy in "applicationDidFinishLaunching". Tutti i testi dei titoli di navigazione e BarButtonItems utilizzano font personalizzati forniti.MFMailComposeViewController Bar titleText e UIbarbuttons che non utilizzano font personalizzati forniti dal proxy di aspetto

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 
}  

Il problema si presenta quando utilizzo MFMailComposeViewController per l'invio di e-mail. MFMailComposeViewController ignora gli attributi del carattere e torna ai caratteri predefiniti. Nel simulatore iPhone 5S, posso vedere il carattere personalizzato per un po ', ma torna a quello predefinito.

enter image description here

mostrato per un po 'nel simulatore di iPhone 5S. (Sto cercando di ottenere questo risultato)

enter image description here

Utilizza font di default dopo alcuni secondi.

Qualsiasi aiuto su questo? Il proxy dell'aspetto non dovrebbe funzionare per UIBarButton & NavigationBar di MFMailComposeViewController o è necessaria una codifica per questo?

Sto usando Swift e ho anche provato ad usare appearanceHhenContainedIn di Alexander usando Bridge ma non sembra funzionare. La mia preoccupazione è di cambiare il carattere di titleText e BarButtonItems (cancel, send) di MFMailComposeViewController.

Grazie in anticipo. Qualsiasi aiuto sarebbe molto apprezzato.

+0

HI, sto riscontrando lo stesso problema, hai trovato una soluzione alternativa? –

+1

@HugoAlonso: No, ho finito per usare il carattere predefinito. –

risposta

0

Ho combattuto lo stesso problema con i dispositivi iOS 9 negli ultimi giorni. Ho provato praticamente tutto. Tuttavia, questa mattina ho tenterà di aggiungere il seguente alla AppDelegate:

UIBarButtonItem.appearanceWhenContainedInInstancesOfClasses([MFComposeViewController.self]).setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.blueColor()], forState: .Normal) 

non riesco a utilizzare la classe UINavigationBar in quanto effettuerebbe l'intero aspetto applicazione e che non è quello che voglio.

Postò indietro se funziona.