UIAlertView простой способ узнать, выбрана ли кнопка отмены - PullRequest
14 голосов
/ 03 августа 2011

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

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

[alertView isCancelIndex:index];

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

Ответы [ 3 ]

52 голосов
/ 03 августа 2011

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

@property(nonatomic) NSInteger cancelButtonIndex

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

[alertView cancelButtonIndex]
32 голосов
/ 14 августа 2011
- (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)
}

2 голосов
/ 03 августа 2011

В делегате 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...
    }
}
...