UIAlertView - простой способ определить, выбрана ли кнопка отмены

Я знаю, что делал это раньше, но я просто не могу понять это снова.

Каков метод, который я использовал бы, чтобы увидеть, была ли нажата кнопка отмены. Я не хочу делать это на основе индекса кнопки. Есть способ сделать это, например:

[alertView isCancelIndex:index];

Кто-нибудь знает?

Ответы

Ответ 1

UIAlertView имеет свойство индекса кнопки отмены

@property(nonatomic) NSInteger cancelButtonIndex

Использование

[alertView cancelButtonIndex]

Ответ 2

- (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)
}

Ответ 3

В делегате UIAlertView есть метод

(void) alertView: (UIAlertView *) alertView clickedButtonAtIndex: (NSInteger) buttonIndex

И затем:

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