[英]messageComposeViewController didFinishWithResult delegate method not being called
I have a view controller "Paircontroller" that presents an MFMessageComposeViewController, as so: 我有一个视图控制器“ Paircontroller”,它呈现了MFMessageComposeViewController,如下所示:
NSArray *recpts = [[NSArray alloc]initWithObjects:phone.text, nil];
MFMessageComposeViewController *mcontr = [[MFMessageComposeViewController alloc]init];
mcontr.body = @"Sign up for our app!";
mcontr.recipients = recpts;
mcontr.subject = @"hey!";
mcontr.delegate = self;
[self presentViewController:mcontr animated:YES completion:^{
}];
this view controller's interface looks as follows: 该视图控制器的界面如下所示:
@interface PairViewController : UIViewController<UITextFieldDelegate,CustomIOS7AlertViewDelegate, UINavigationControllerDelegate, MFMessageComposeViewControllerDelegate>
@end
Within the view-controller's implementation, I have defined the delegate method - (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result
在视图控制器的实现中,我定义了委托方法- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result
as follows: 如下:
- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result
{
switch (result) {
case MessageComposeResultCancelled:
NSLog(@"Cancelled");
break;
case MessageComposeResultFailed:
NSLog(@"unknown error sending m");
break;
case MessageComposeResultSent:
NSLog(@"Message sent successfully");
break;
default:
break;
}
[self dismissViewControllerAnimated:YES completion:^{}];
}
However, the delegate method is not being called (breakpoint not hit, and NSLogs not being hit either). 但是,未调用委托方法(未命中断点,也未命中NSLogs)。
Can someone help me out on why this is not working? 有人可以帮我解决为什么它不起作用吗?
Thanks! 谢谢!
C C
I think the following change should work. 我认为以下更改应该有效。 MFMessageComposeViewController
is a UINavigationController
subclass, so in your original code you are setting UINavigationControllerDelegate
to self. MFMessageComposeViewController
是UINavigationController
子类,因此在原始代码中,您将UINavigationControllerDelegate
设置为self。
mcontr.messageComposeDelegate = self;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.