[英]Pushing a navigation controller is not supported when using MFMessageComposeViewController
我正在使用此代碼進行崩潰
不支持推導航控制器
MFMessageComposeViewController *messageController = [[MFMessageComposeViewController alloc] init];
messageController.messageComposeDelegate = self;
[messageController setRecipients:recipents];
[messageController setBody:message];
[self.parentViewController presentViewController:messageController animated:YES completion:nil];
[self presentViewController:messageController animated:YES completion:nil];
您的視圖在NavigationController堆棧中嗎? 嘗試這個-
[self.navigationController presentViewController:messageController animated:YES completion:nil];
如果您使用storyboard
.xib
或.xib
,以下代碼將為您提供幫助。
添加MessageUI.framework
為導入類編寫此行。
#import <MessageUI/MessageUI.h>
設置代表
@interface ListViewController : UIViewController <MFMessageComposeViewControllerDelegate, UINavigationControllerDelegate>
實施以下方法
- (IBAction)sendMessage:(UIButton *)sender
{
if([MFMessageComposeViewController canSendText])
{
MFMessageComposeViewController *controller = [[MFMessageComposeViewController alloc] init];
controller.body = @"Hello...";
controller.recipients = [NSArray arrayWithObjects:@"recipient1, recipient2, recipient3", nil];
controller.messageComposeDelegate = self;
controller.delegate = self;
[self presentViewController:controller animated:YES completion:nil];
}
}
實現其委托方法以解雇
#pragma mark - Message Delegate ============================
- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result
{
switch (result)
{
case MessageComposeResultCancelled: break;
case MessageComposeResultFailed:
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"" message:@"Sorry, something went wrong, please try again." delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];
[alert show];
}
break;
case MessageComposeResultSent: break;
default: break;
}
[[controller presentingViewController] dismissViewControllerAnimated:YES completion:nil];
}
這是不可能的,因為文檔說MFMessageComposeViewController
是UINavigationController
OC @interface MFMessageComposeViewController : UINavigationController
迅捷 class MFMessageComposeViewController : UINavigationController
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.