MFMailComposeViewController по умолчанию находится в режиме только для чтения - PullRequest
0 голосов
/ 25 октября 2011

Я пытаюсь использовать MFMailComposeViewController в приложении для iPhone, которое я создаю, но не могу заставить его работать правильно. Я следовал примеру кода Apple MailComposer . Как вы можете видеть в примере, MFMailComposeViewController позволяет вам вводить любое сообщение, которое вы хотите, а в случае получателей вы можете либо набирать адреса электронной почты, либо выбирать их из своих контактов. Моя реализация точно такая же, как в примере, и MFMailComposeViewController появляется и исчезает, как и ожидалось. Однако контроллер, кажется, находится в режиме только для чтения; пользователь не может изменить ни одно из полей. Я могу изменить значения различных полей программно, прежде чем показывать контроллер, но как только он будет виден, никакие изменения не могут быть сделаны ни к одному из полей. Я проверил все несколько раз, но я не могу найти ничего отличного между моей реализацией и Apple. Я в тупике! Кто-нибудь сталкивался с этой проблемой раньше? Какие-либо предложения?

Большое спасибо за любую помощь, которую вы все можете предоставить!

1 Ответ

1 голос
/ 26 октября 2011

Нашел проблему! Родительский контроллер представления в моем приложении прослушивает жесты встряхивания, что требует, чтобы контроллер представления, прослушивающий встряски, становился первым респондентом. Контроллер родительского представления должен вызвать

[self resignFirstResponder];

перед отображением MFMailComposeViewController. После добавления этой строки MFMailComposeViewController работал как шарм.

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

...