如果您使用storyboard
or .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];
}