10
votes

MFMailCommentViewController se bloque à cause des propriétés de l'apparence mondiale sur iOS6

Je reçois le crash suivant lorsque je présente un mfmailcomeViewController code>: xxx pré>

Je l'ai suivi sur le paramètre d'apparence suivant dans mon de mon AppDelegate 'code> Application: DidfinishLaNichingWithOptions: Code> Méthode: P>

        [[UINavigationBar appearance] setTitleTextAttributes:nil];


0 commentaires

3 Réponses :


0
votes

La seule façon de résoudre ce problème était de créer [[[[UINAVIGATION DE L'APPARENCEMENDICELINELINELINE:] SETITTLETLETEXTATRIBUTS:] pour chacun de mes uiviewcontrols . Heureusement, cela était assez simple, car tous mes contrôleurs d'affichage personnalisés proviennent de 4 sous-classes de contrôleur de vue.

Edit: voir Cette réponse parce que je suis stupide.


1 commentaires

Avez-vous déposé un bogue avec Apple?



21
votes

Essayez d'utiliser uitéxtattributeetextextextextextexte au lieu de nsforegroundColorattributename .


6 commentaires

Homme, je ne peux pas croire que c'était quelque chose comme ça. C'est l'une de ces énumes qui continuent d'aller d'avant en arrière à travers les versions iOS; Je ne peux pas le garder directement dans ma tête.


Oh mon cher seigneur, merci Jonathan !! 20 heures-personnes de débogage résolu avec cela.


J'aimerais ajouter que le même problème apparaît avec QlpreviewController. Il se bloque lorsque vous utilisez UIAPPearance et NsforegroundColoratTributename. L'utilisation de l'uitextattributetextextextextextextextextextextextextextextextatoire maintenant.


Mon problème semblait être une combinaison de cet et modifiant nsfontattributename vers uitextattributefont aussi


Il semble que iOS 8 bug, mais pas de chance même avec la solution ci-dessus.


Le compilateur ne le permettra pas dans iOS8.



2
votes

Il suffit de prolonger la classe UinavigationController xxx

Remplacez toute votre classe UinavigationController avec la nouvelle sous-classe et [ApparenceWhencontainine:] Dans votre représentant de l'application xxx

après que votre application ne se plante pas.


1 commentaires

Je préfère cette solution puisqu'elle est plus correcte architecturale.