Как отклонить модальный контроллер представления, используя UIAlertView? - PullRequest
2 голосов
/ 02 декабря 2011

Я хотел бы закрыть весь модальный контроллер вида, нажав «Отмена» в реализованном мною UIAlertView.Представление предупреждения спрашивает пользователя, хочет ли он выйти из системы, и если пользователь нажимает Да, он отклоняет модальный контроллер представления.

Как я могу сделать это в Xcode?

Спасибо!

Ответы [ 3 ]

2 голосов
/ 02 декабря 2011

Вы можете начать с просмотра документации по uialertviewdelegate.

Сначала вам нужно объявить свой класс в качестве делегата для uialertview, а затем реализовать метод, чтобы получить индекс кнопки, на которую нажал пользователь.

Вы можете использовать эти методы для проверки выбора пользователя

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
- (void)alertView:(UIAlertView *)alertView willDismissWithButtonIndex:(NSInteger)buttonIndex
0 голосов
/ 29 сентября 2013

Если вы используете alertView для отклонения контроллера модального представления,

Используйте didDismissWithButtonIndex: (NSInteger) buttonIndex вместо clickedButtonAtIndex: (NSInteger) buttonIndex

Последнее вызывает сбой.

0 голосов
/ 02 декабря 2011

Использовать метод делегирования вида оповещения

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
   [self dismissModalViewControllerAnimated:YES];

}

Если у вас больше кнопки OK, вам нужно указать индекс кнопки, т.е.

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

  if(buttonIndex==0)
   {
     //Do something 
   }

  if(buttonIndex==1)
   {
      [self dismissModalViewControllerAnimated:YES];
   }
}
...