UIViewController解雇ModalViewControllerAnimated:导致主窗口消失

发布于 2024-08-28 15:38:47 字数 717 浏览 11 评论 0原文

我想在 iPad 应用程序中呈现一个模态邮件对话:

MFMailComposeViewController* picker = [[MFMailComposeViewController alloc] init];
picker.mailComposeDelegate = self;          
[picker setSubject:title];
[picker setMessageBody:[NSString stringWithFormat:[self emailBody], title, [link absoluteString]] isHTML:YES];
[self.viewController presentModalViewController:picker animated:YES];

当用户发送/取消时调用以下委托:

- (void) mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error { 
    [self.viewController dismissModalViewControllerAnimated:YES];
}

这在纵向模式下效果很好。在横向模式下,UISplitViewController 的右侧窗格完全消失。

I want to present a modal mail dialogue like so in the iPad app:

MFMailComposeViewController* picker = [[MFMailComposeViewController alloc] init];
picker.mailComposeDelegate = self;          
[picker setSubject:title];
[picker setMessageBody:[NSString stringWithFormat:[self emailBody], title, [link absoluteString]] isHTML:YES];
[self.viewController presentModalViewController:picker animated:YES];

The following delegate is called when the user sends/cancels:

- (void) mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error { 
    [self.viewController dismissModalViewControllerAnimated:YES];
}

This works great in portrait mode. In landscape mode the right hand pane of the UISplitViewController completely disappears.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

指尖上得阳光 2024-09-04 15:38:47

您只能从应用程序的主视图中呈现这些内容。在这种情况下,从 UISplitViewController 进行呈现是可行的。

You can only present these from the primary view of your application. In this case, presenting from the UISplitViewController works.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文