如何推送MFMailComposeViewController?(iOS 5)

Mar*_*rco 2 objective-c uiactionsheet ios mfmailcomposer

从tableview我想呈现一个MFMailComposeViewController.我不想使用该presentModalViewController:animated:方法,而是推送视图控制器,因此它与此表视图中的其他动画一致.

因为MFMailComposeViewController是UINavigationController并且不支持推送导航控制器,所以我使用了:

[[self navigationController] pushViewController:[mailComposer topViewController] animated:YES];
Run Code Online (Sandbox Code Playgroud)

这有效,但当我点击取消按钮时,它会发出警告:

提交由其超级视图剪辑的动作表.某些控件可能无法响应触摸.在iPhone上尝试 - [UIActionSheet showFromTabBar:]或 - [UIActionSheet showFromToolbar:]而不是 - [UIActionSheet showInView:].

UIActionSheet底部的"取消"按钮不响应触摸.有谁知道是否可以推送MFMailComposeViewController?

gsc*_*ler 5

提出一个MFMailComposeViewController模态视图与Apple的HIG一致.将其推送到导航堆栈不是.使用-presentModalViewController:animated:(或者-presentViewController:animated:completion:如果在iOS 5或更高版本上执行)

  • 为了将来的知识,'presentModalViewController:animated:`已被Apple弃用,所以你应该使用`presentViewController:animated:completion:`代替. (2认同)