2010-11-21 3 views
1

Lorsque j'essaie de pousser mon MFMailComposeViewController, il est dit que je ne peux pas pousser les contrôleurs de navigation ?! Hmm ... ne sais pas à ce sujet. Fondamentalement tous mes contrôleurs de vue sont en fait des sous-classes de CustomUIViewController qui supprime automatiquement la vue de titre de la barre de navigation (comme j'ai un logo dans la barre de navigation à la place). La présentation de mon MFMailComposeViewController remet le titre en place car je ne peux pas le faire sous-classer CustomUIViewController (ou je ne sais pas?).MFMailComposeViewController est un contrôleur de navigation?

J'ai donc vraiment besoin d'un moyen de supprimer la vue de titre du MFMailComposeViewController.

Merci

Tom

+0

« Hérite de UINavigationController: UIViewController: UIResponder: NSObject » - http://developer.apple.com/library/ios/#documentation/ MessageUI/Reference/MFMailComposeViewController_class/ –

+0

lol, merci- pourquoi est-il appelé le MFMailComposeViewController alors ?! : p –

+0

On l'appelle comme ça parce que c'est une sous-classe de UINavigationController ^^. – Rengers

Répondre

0

Quelques options faciles:

  • Sous MFMailComposeViewController aussi.
  • Ne pas sous-classer CustomUIViewController; remplacer certaines méthodes dans une catégorie de UIViewController (icky).
  • Masquer l'élément de titre dans une catégorie de UINavigationBar
0

Compte tenu de la vue du titre contient les boutons Annuler et envoyer, je ne suis pas sûr que vous voulez supprimer. Vous pouvez essayer de changer le titre réel dans la barre de navigation avec

mailController.navigationItem.titleView = myLogo;

qui devrait définir cette zone centrale de l'élément de navigation pour être votre logo au lieu d'un texte.

+0

hmm, ne fonctionne pas. :/merci pour votre aide si –

+1

Peut-être 'mailcontroller.topViewController.navigationItem.titleView = myTitleView;' – Rengers

+0

La vue du titre est vraisemblablement celle du milieu; les boutons cancel et send sont leftBarButtonItem et rightBarButtonItem. –

-1

Bien qu'il serait bien d'obtenir plus de contrôle sur l'apparence, je ne pense pas qu'il y ait une méthode propre. Lorsque vous ne pouvez pas changer, je pense que vous devriez le cacher:

[[UINavigationBar appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjects: [NSArray arrayWithObjects:[UIColor clearColor], nil] forKeys:[NSArray arrayWithObjects:UITextAttributeTextColor, nil]]]; 
Questions connexes