Действие предупреждений iOS о кнопке

У меня есть кнопка в меню, которая при касании выскакивает предупреждающее сообщение с двумя кнопками: "Cancel" а также "YesMsgs tr "Это код, который у меня есть для оповещения:

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Exit game"
                                                message:@"Are you sure?"
                                               delegate:nil
                                      cancelButtonTitle:@"Cancel"
                                      otherButtonTitles:@"Yes", nil];
[alert show];

Можно ли добавить действие к кнопке?Yes"?

3 ответа

Решение

В вашем коде установите делегат UIAlertView:

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Exit game" message:@"Are you sure?" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Yes", nil]; [alert show];

Поскольку вы установили делегат для себя, напишите функцию делегата в том же классе, как показано ниже:

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
if (buttonIndex == 1) { // Set buttonIndex == 0 to handel "Ok"/"Yes" button response
    // Cancel button response
    }}

Вам необходимо реализовать UIAlertViewDelegate

и добавьте следующее...

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {
    if (buttonIndex == 1) {
        // do stuff
    }
}

Да, это легко. Видите этот аргумент под названием "делегат", который вы установили в ноль прямо сейчас? Установите это для объекта... обычно "self", если вы вызываете его из контроллера представления, а затем реализуете селектор для UIAlertViewDelegate.

Вы также должны объявить, что ваш контроллер представления соответствует протоколу UIAlertViewDelegate. Хорошее место для этого - в "приватном" классе продолжения контроллера представления.

@interface MyViewController() <UIAlertViewDelegate>
@end

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
   NSLog(@"Button pushed: %d", buttonIndex);
}
Другие вопросы по тегам