2011-01-10 10 views
2

デリゲートメソッドを実装するのが非常に新しいです。私はSMSアプリケーションを実装しています。私はSMSのデリゲートメソッドを開くことができ、TOと送信オプションを見たが、私はそれが私のコードを次のように動作していないメインに戻ってきてみるときに助けてください。キャンセルボタンがiPhoneのsmsインテグレーションで機能していない

- (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のデリゲートを割り当てるために忘れてしまったので、このコードが呼び出されませんということです。 picker.messageComposeDelegate = self;
それがないなら、あなたがそれを追加する必要があります:あなたはmessagecomposerを作成し、このような呼び出しがあるかどうか、あなたのコードの一部で

表情。それ以外の場合、作曲者はデリゲート機能を呼び出すことができません。

+6

デリゲートを設定していますが、messageComposeDelegateは設定していません。 'picker.delegate = self;'を 'picker.messageComposeDelegate = self; 'に置き換えてみてください –

+0

全く同じ問題を抱えていました。 – Dvole

関連する問題