2011-01-10 53 views
2

我很新,实现委托方法。我正在实施短信应用程序。我可以打开sms委托方法,并看到TO和发送选项,但是当我尝试回到主目录时,它不起作用,我的代码如下,请帮助我。取消按钮不适用于iPhone的短信集成

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

} 

回答

13

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

看在你创建messagecomposer,看看是否有这样的调用代码的一部分:picker.messageComposeDelegate = self;
如果没有的话,你必须添加它。否则,作曲家不能调用你的委托功能。

+6

您正在设置委托,但不是messageComposeDelegate。尝试用`picker.messageComposeDelegate = self;`替换picker.delegate = self;` – 2011-01-10 19:30:27