从 iPad 上的模态 FormSheet 呈现 MFMailComposeViewController?
Posted
技术标签:
【中文标题】从 iPad 上的模态 FormSheet 呈现 MFMailComposeViewController?【英文标题】:Present MFMailComposeViewController from modal FormSheet on iPad? 【发布时间】:2012-04-18 21:31:27 【问题描述】:有没有人成功地在 iPad 上通过 UIModalPresentationStyleFormSheet
视图控制器展示标准 Apple MFMailComposeViewController
?
当我这样做时,视图按预期显示,但是当用户点击任何输入文本视图时,例如主题,按下取消按钮的键盘滑动将显示“删除草稿”和“保存草稿”弹出框超出屏幕范围。
如果我将模式视图更改为全屏,它可以正常工作。
【问题讨论】:
【参考方案1】:我认为您不会将其作为表单呈现。使用此代码为我创造了奇迹:
MFMailComposeViewController *mailViewController = [[MFMailComposeViewController alloc] init];
mailViewController.mailComposeDelegate = self;
[mailViewController setSubject:@"Subject"];
[mailViewController setMessageBody:@"" ishtml:NO];
mailViewController.modalPresentationStyle = UIModalPresentationFormSheet;
[self presentModalViewController:mailViewController animated:YES];
【讨论】:
你说得对,这确实有效,谢谢。我在这里看到的唯一问题是,如果您让弹出框可见(显示“取消”等),然后旋转 iPad,弹出框会像以前一样从屏幕上移出。对此有什么想法吗?谢谢! 我最终通过使用样式UIModalPresentationCurrentContext
呈现模态视图控制器来解决问题。
UIModalPresentationCurrentContext 也为我修复了它。以上是关于从 iPad 上的模态 FormSheet 呈现 MFMailComposeViewController?的主要内容,如果未能解决你的问题,请参考以下文章
如何从 ParentViewController 中关闭 formSheet 模态?
为啥我的模态呈现(表单)navController 的 rootViewController 在模态呈现时不知道它的尺寸较小?