How to push a MFMailComposeViewController? (iOS 5)

From a tableview I want to present a MFMailComposeViewController. I don't want to use the presentModalViewController:animated: method, but instead push the view controller, so it's consistent with the other animations from this table view.

Because MFMailComposeViewController is a UINavigationController and pushing a navigation controller is not supported, I used:

[[self navigationController] pushViewController:[mailComposer topViewController] animated:YES];

This works, but when I tap the Cancel button it gives the warning:

Presenting action sheet clipped by its superview. Some controls might not respond to touches. On iPhone try -[UIActionSheet showFromTabBar:] or -[UIActionSheet showFromToolbar:] instead of -[UIActionSheet showInView:].

The Cancel button at the bottom of the UIActionSheet doesn't respond to touches. Does anyone know whether it is possible to push a MFMailComposeViewController?


Presenting a MFMailComposeViewController as a modal view is consistent with Apple's HIG. Pushing it onto a navigation stack is not. Use -presentModalViewController:animated: (or -presentViewController:animated:completion: if executing on iOS 5 or greater)

链接地址: http://www.djcxy.com/p/94538.html

上一篇: 如何防止取消MFMailComposeViewController的崩溃?

下一篇: 如何推送一个MFMailComposeViewController? (iOS 5)