2011-08-03 7 views
14

私は以前これをやったことが分かっていますが、私は再びそれを理解できません。UIAlertViewキャンセルボタンが選択されているかどうかを確認する簡単な方法

キャンセルボタンが押されたかどうかを確認する方法は何ですか?私はボタンインデックスに基づいてそれをしたくありません。

[alertView isCancelIndex:index]; 

誰でも知っていますか?

+8

質問のそのようなものは、簡単に文書によって解決されます。あなたはまた、多くの時間を節約しています。これは、UIAlertViewクラスのリファレンスの検索、Appleのリンクのクリック、プロパティとメソッドのリストへのスクロールなど、簡単です。 – EmilioPelaez

答えて

52

UIAlertViewがUIAlertViewのデリゲートでキャンセルボタンインデックス

@property(nonatomic) NSInteger cancelButtonIndex 

使用

[alertView cancelButtonIndex] 
2

のプロパティ、メソッド

(無効)alertViewありました:(UIAlertView * )alertView clickedButtonAtIndex:(NSInteger)buttonIndex

そして:

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex 
{ 
    NSInteger cancelIndex = [alertView cancelButtonIndex]; 
    if (cancelIndex != -1 && cancelIndex == buttonIndex) 
    { 
     // Do something... 
    } 
} 
+0

OPは具体的にはそのメソッドを使用していないと言っています – rich

+2

私は、OPは彼がインデックスをハードコードしたくないと思ったと思います。 (彼は彼が何を意味しているかを知る限り)。 –

32
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { 

    if (buttonIndex == [alertView cancelButtonIndex]) { 
    NSLog(@"The cancel button was clicked for alertView"); 
    } 
// else do your stuff for the rest of the buttons (firstOtherButtonIndex, secondOtherButtonIndex, etc) 
} 

関連する問題