Iphone 如何将侦听器添加到MFMessageComposeViewController?
我正在尝试使用MFMessageComposeViewController在iPhone上发送短信,我想添加一个侦听器,该侦听器可以识别短信何时发送(换句话说,当用户按下“发送”键时)。这个的语法是什么 例如,我知道使用textField时,侦听器的示例如下:Iphone 如何将侦听器添加到MFMessageComposeViewController?,iphone,events,uitextfield,Iphone,Events,Uitextfield,我正在尝试使用MFMessageComposeViewController在iPhone上发送短信,我想添加一个侦听器,该侦听器可以识别短信何时发送(换句话说,当用户按下“发送”键时)。这个的语法是什么 例如,我知道使用textField时,侦听器的示例如下: [textField addTarget:self action:@selector(methodName)for controlEvents:uicontrolEventEditingDiEndonext] 您想将代理添加到MFMess
[textField addTarget:self action:@selector(methodName)for controlEvents:uicontrolEventEditingDiEndonext] 您想将代理添加到
MFMessageComposeViewController
。在代理的messageComposeViewController:didFinishWithResult:
方法中,您可以检查result参数以查看用户是否取消或发送了SMS
- (void)messageComposeViewController:(MFMessageComposeViewController *)controller
didFinishWithResult:(MessageComposeResult)result {
switch(result) {
case MessageComposeResultCancelled:
// user canceled sms
break;
case MessageComposeResultSent:
// user sent sms
break;
case MessageComposeResultFailed:
// sms send failed
break;
default:
break;
}
第三个结果是
相关代码:
- (void)messageComposeViewController:(MFMessageComposeViewController *)controller
didFinishWithResult:(MessageComposeResult)result
{
switch (result) {
case MessageComposeResultCancelled:
NSLog(@"Cancelled");
break;
case MessageComposeResultFailed:
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:@"MyApp"
message:@"Unknown Error"
delegate:self
cancelButtonTitle:@”OK”
otherButtonTitles:nil];
[alert show];
[alert release];
break;
case MessageComposeResultSent:
break;
default:
break;
}
[self dismissModalViewControllerAnimated:YES];
}
执行
MessageComposeResultSent
案例以了解消息何时发送。这些都包含在同一个类中吗?或者,您希望在不同的类中发送消息时进行检测吗?因此,如果不使用委托,则无法进行检测?不,您需要实现委托。这就是它的目的。如果您需要在其他地方了解正在发送的SMS,您可以使用代理发出通知。