我之前已经看到过几个问题,但是由于缺乏可接受的答案以及根据需要实施了所有内容,我仍然继续面临以下问题:我显示邮件编写器,但单击取消时,编写器视图冻结. 我认为这是由于保存/删除草稿操作表出现在可见框架之外。是的,我已将 mailComposeDelegate 设置为呈现视图控制器,并阅读了用户尚未处理的几个类似问题(void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error
代表在取消时解雇作曲家。我也处理过这个问题,但我似乎一辈子都无法弄清楚为什么在我的通用应用程序的 iPhone 版本中,操作表不会出现在屏幕的可见区域中。以 NSLogged 模态显示邮件编写器的视图控制器的视图框架是 (0,0,320,480)。我的应用程序是通用的,邮件编辑器在 iPad 上完美运行。下面是在 iPhone Simulator 5.1 上运行的 composer 视图的截图:-
这是显示 composer 的代码:
-(IBAction)mailButtonPressed:(id)sender {
MFMailComposeViewController *controller = [[MFMailComposeViewController alloc] init];
controller.mailComposeDelegate = self;
[controller setSubject:@"Subject"];
[controller setMessageBody:@"Test" isHTML:YES];
[controller setToRecipients:nil];
if(controller) {
[self presentModalViewController:controller animated:YES];
[controller release];
}
}
- (void)mailComposeController:(MFMailComposeViewController*)controller
didFinishWithResult:(MFMailComposeResult)result
error:(NSError*)error
{
[self dismissModalViewControllerAnimated:YES];
}