Я столкнулся с той же проблемой и искал исправление в последние 2 дня, затем я сам нашел исправление, и вы не поверите, насколько оно незначительное.
В моем случае контроллер представления (скажем, «DetailsTableViewController» согласно этому вопросу), из которого я представлял MFMailComposeViewController
, уже представлен из какого-либо другого контроллера представления (скажем, «BaseViewController»).
Проблема заключалась в 'modalPresentationStyle
' в DetailsTableViewController при представлении его из BaseViewController.
В тот момент, когда я изменил ее с 'UIModalPresentationFormSheet
' на 'UIModalPresentationPageSheet
' (в этом случае проблема, отличная от 'UIModalPresentationFormSheet
'), была решена, и методы делегата почтового контроллера начали работать как обычно.
Примечание: я уже вызывал метод ниже в 'DetailsTableViewController' (для этого примера), поэтому для меня не имело значения, какой 'modalPresentationStyle
' я использовал.
- (void)viewWillLayoutSubviews{
[super viewWillLayoutSubviews];
self.view.superview.bounds = CGRectMake(0, 0, 1024, 768);
self.view.superview.backgroundColor = [UIColor clearColor];
}