MFMailComposeViewController на самом деле является контроллером навигации? - PullRequest
1 голос
/ 21 ноября 2010

Когда я пытаюсь выдвинуть мой MFMailComposeViewController, он говорит, что я не могу выдвинуть контроллеры навигации ?!Хм ... не знаю об этом.

В основном все мои контроллеры представления на самом деле являются подклассами CustomUIViewController, который автоматически удаляет представление заголовка с панели навигации (так как вместо этого у меня есть логотип на панели навигации).

Представление моего MFMailComposeViewController модально помещает заголовок обратно, потому что я не могу сделать его подклассом CustomUIViewController (или я могу? Не знаю?).

Так что мне действительно нужен способ удалить представление заголовкаMFMailComposeViewController.

Спасибо

Том

Ответы [ 3 ]

0 голосов
/ 21 ноября 2010

Несколько простых опций:

  • Подкласс MFMailComposeViewController тоже.
  • Не наследовать CustomUIViewController;переопределить некоторые методы в категории UIViewController (icky).
  • Скрыть заголовок в категории UINavigationBar
0 голосов
/ 06 октября 2013

Хотя было бы неплохо получить больше контроля над внешним видом, я не думаю, что есть чистый метод. Если вы не можете это изменить, я думаю, вам следует это скрыть:

[[UINavigationBar appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjects:  [NSArray arrayWithObjects:[UIColor clearColor], nil] forKeys:[NSArray arrayWithObjects:UITextAttributeTextColor, nil]]];
0 голосов
/ 21 ноября 2010

Учитывая, что заголовок содержит кнопки Отмена и Отправить, я не уверен, что вы захотите удалить его. Вы можете попробовать изменить фактический заголовок на панели навигации с помощью

mailController.navigationItem.titleView = myLogo;

Который должен установить эту центральную область элемента навигации как ваш логотип вместо текста.

...