1


Мне нужно показать подтверждающее предупреждение после того, как пользователь нажмет buttonIndex 1, но ... если я использую popViewcontroller в clickedButtonAtIndex, он сбой без ошибок.Показать оповещение в clickedButtonAtIndex?

Проблема заключается в том, что

[self.navigationController popViewControllerAnimated:YES]; 

вызывается до второго оповещения мыши ...

как исправить?

Это мой код:

- (void) alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { 
    if (buttonIndex == 1) { 
     UIAlertView *alert = 
      [[UIAlertView alloc] initWithTitle:@"OK!" 
            message:@"Completed" 
            delegate:self 
        cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; 
      [alert show]; 
      [alert release]; 

      [self.navigationController popViewControllerAnimated:YES]; 
    } 
} 
+0

Однажды я сделал подкласс UIAlertView только потому, что один не может нажать на сенсорном экране. У чувака, который назвал этого делегата, особое место в аду. –

ответ

3

Установите свойства тегов два UIAlertViews 1 и 2, соответственно. Затем в методе делегата используйте инструкции if для проверки тега аргумента UIAlertView.

Пример:

- (void) alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex 
{ 
    if (alertView.tag == 1) 
    { 
     //check the button index 
     //create and display the other alert view (set the tag property here to 2) 
    } 
    else if (alertView.tag == 2) 
    { 
     //pop the view controller 
    } 
} 
+0

спасатель! спасибо – pqsk

Смежные вопросы