取消按钮无法在iPhone的短信集成中使用

sek*_*sek 2 iphone objective-c

我是新手来实现委托方法.我正在实现短信应用程序.我能够打开短信委托方法,看到了TO和发送选项,但是当我尝试回到主要时它不起作用我的代码如下,请帮助我.

- (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];

 }
Run Code Online (Sandbox Code Playgroud)

Mat*_*uch 13

我的猜测是这个代码没有被调用,因为你忘了分配MFMessageComposeViewController的委托.

查看代码中创建messagecomposer的部分,看看是否有这样的调用:picker.messageComposeDelegate = self;
如果不存在,则必须添加它.否则,作曲家无法调用您的委托功能.

  • 您正在设置委托,但不是messageComposeDelegate.尝试用`picker.messageComposeDelegate = self替换`picker.delegate = self;`; (6认同)