Использование MFMailComposeViewController в раскадровке не работает - PullRequest
6 голосов
/ 02 января 2012

В раскадровке я могу настроить переход с кнопки на UIViewController и сделать ее модальной. Это отлично работает. Однако, когда я изменяю класс в раскадровке с UIViewController на MFMailComposeViewController, он вообще не работает. Все, что появляется, это панель навигации вверху, а остальная часть дисплея заполнена черным. Я выбрал неправильный подход?

Ответы [ 2 ]

2 голосов
/ 18 сентября 2012

В дополнение к ответу Беси:

  1.  
  2.  
  3. Подкласс MFMailComposeViewController и метод переопределения initWithCoder:.

Пример:

-(id)initWithCoder:(NSCoder *)aDecoder
{
    return [super init];
}

Тогда он будет работать с раскадровками, но я думаю, что ваши выходы / теги / другие определения из сцены раскадровки не будут применены (вам нужно настроить почтукомпозитор внутри вашего prepareForSegue:sender: метода).

2 голосов
/ 21 января 2012

У меня была похожая проблема с ABPeoplePickerNavigationController, и я не мог понять, в чем проблема.Вы можете либо

  1. вернуться к IBAction и создать экземпляр MFMailComposeViewController для себя и отобразить его.

  2. Если вы хотитечтобы продолжать использовать раскадровки, что, на мой взгляд, желательно, вы могли бы создать класс-обертку, который внутренне создает экземпляр MFMailComposeViewController, а затем функционирует как прокси-объект и, таким образом, распространяет viewDid*** и viewWill*** -методы в упакованный класс, а такжеВозврат обернутого VC в виде только для чтения view свойство ... Вы поняли.

...