Я реализовал MFMailComposeViewController и столкнулся с проблемой.
В моем супервизии, когда я нажал кнопку, я добавил, что вызывает электронную почту в приложении.Все работает нормально, пока пользователь не отправит или не закроет почтовую форму.
Похоже, мне нужно дождаться окончания анимации (отклонить форму электронной почты), прежде чем можно будет запустить [self.view removeFromSuperview];
.Если эта строка запускается до завершения анимации, ничего не происходит, и представление не удаляется, поэтому я не могу ничего коснуться на экране, поскольку текущий UIView не удаляется.
- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error {
[self dismissModalViewControllerAnimated:YES];
// Removes the view so that delegate is passed back to the superview
[self.view removeFromSuperview];
}
Мое действие суперпредставления, которое вызываеткласс:
- (IBAction)buttonPressedSendMail {
MailComposerViewController *mailComposer = [[MailComposerViewController alloc] init];
[self addSubview:mailComposer.view];
[mailComposer sendMail:nil];
}
[[self view] setHidden:YES];
для сокрытия работ UIView, но я не думаю, что это правильный способ сделать это.