Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
取消按钮在iPhone短信集成中不起作用_Iphone_Objective C - Fatal编程技术网

取消按钮在iPhone短信集成中不起作用

取消按钮在iPhone短信集成中不起作用,iphone,objective-c,Iphone,Objective C,我对实现委托方法非常陌生。我正在实现短信应用程序。我能够打开sms委托方法并查看“收件人”和“发送”选项,但当我尝试返回到main时,它不起作用。我的代码如下,请帮助我 - (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result { message.hidden = NO; switch (res

我对实现委托方法非常陌生。我正在实现短信应用程序。我能够打开sms委托方法并查看“收件人”和“发送”选项,但当我尝试返回到main时,它不起作用。我的代码如下,请帮助我

- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result {
message.hidden = NO;
switch (result)
  {
    case MessageComposeResultCancelled:
        message.text = @"Result: canceled";
        NSLog(@"Result: canceled");
        break;
    case MessageComposeResultSent:
        message.text = @"Result: sent";
        NSLog(@"Result: sent");
        break;
    case MessageComposeResultFailed:
        message.text = @"Result: failed";
        NSLog(@"Result: failed");
        break;
    default:
        message.text = @"Result: not sent";
        NSLog(@"Result: not sent");
        break;
   }

[self dismissModalViewControllerAnimated:YES];

 }

我猜这段代码不会被调用,因为您忘记分配MFMessageComposeViewController的委托

查看创建messagecomposer的代码部分,看看是否有这样的调用:
picker.messageComposeDelegate=self

如果它不在那里,你必须添加它。否则,编写器无法调用您的委托函数。

您正在设置委托,而不是消息ComposeDeleteGate。尝试替换
picker.delegate=self带有
picker.messageComposeDelegate=self