2017-01-30 5 views
3

Использование этого для UIAlertViewUIAlertController как добавить значение тега в OBJ с

- (void) alertStatus:(NSString *)msg :(NSString *)title :(int) tag 
{ 
    UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:title 
                 message:msg 
                 delegate:self 
               cancelButtonTitle:@"OK" 
               otherButtonTitles:nil, nil]; 
    alertView.tag = tag; 
    [alertView show]; 
} 

Но теперь UIAlertView получить осуждается. изменить мой код

UIAlertController *alertController = [UIAlertController alertControllerWithTitle:title message:msg preferredStyle:UIAlertControllerStyleAlert]; 
    UIAlertAction* MyAlert = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:nil]; 
    [alertController addAction:MyAlert]; 
    [self presentViewController:alertController animated:YES completion:nil]; 

Вот как можно передать это значение тег

alertView.tag = tag; 

Помощь, как передать значение тега в UIAlertController. Спасибо заранее.

ответ

4

UIAlertController - UIViewController, поэтому нам нужно назначить тег для просмотра, поэтому используйте alertController.view.tag.

UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"sds" message:@"sdf" preferredStyle:UIAlertControllerStyleAlert]; 
alertController.view.tag = tag; 
UIAlertAction* MyAlert = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:nil]; 
[alertController addAction:MyAlert]; 
[self presentViewController:alertController animated:YES completion:nil]; 

обновление

UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"sds" message:@"sdf" preferredStyle:UIAlertControllerStyleAlert]; 
alertController.view.tag = 3; 
UIAlertAction* MyAlert = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) 
          { 
           // OK button tappped. 
           [self dismissViewControllerAnimated:YES completion:^{ 

           }]; 

          }]; 
[alertController addAction:MyAlert]; 
[self presentViewController:alertController animated:YES completion:nil]; 
+0

- (Недействительными) alertView: (UIAlertView *) alertView clickedButtonAtIndex: (NSInteger) buttonIndex это также осуждается, как исправить ТИС. – saravanar

+0

@saravanar - wait Я обновляю ответ –

+0

@saravanar не нужно использовать делегат 'UIAlertView'. Используйте 'UIAlertController' только вместо' UIAlertView' –

2

создать свойство UIAlertController *alertController;, а затем использовать эту alertController где вы хотите. установить тег, как этот

alertController.view.tag = <YOUR TAG VALUE>; 

, чтобы получить тег этого alertController, когда вы нажимаете на ДА на alertController

//OK button tapped. 
[self dismissViewControllerAnimated:YES completion:^{ 
    NSInteger *tag = alertController.view.tag; 
}]; 
+0

Можете ли вы сказать, как получить индекс кнопки UIAlertController для да и кнопки. – saravanar

+0

, если вы создали свойство 'UIAlertController', где бы вы ни захотели получить индекс этого элемента alertController, просто сделайте так:« NSInteger * tag = alertController.view.tag; ». Если для предупреждения не установлен тэг, по умолчанию он может быть 0. –

1

не какой-либо свойство тегов в UIAlertController. Вы можете использовать блок для получения действия кнопки.

UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Alert" 
                   message:[NSString stringWithFormat:@"Your message"] 
                 preferredStyle:UIAlertControllerStyleAlert]; 
[alert addAction:[UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) { 
      //NSLog(@"OK"); 
     }]]; 
[self presentViewController:alert animated:YES completion:nil]; 

Но вы можете использовать тег в этом

ПУТЬ
alert.view.tag = 1; 
+0

Можете ли вы сказать, как получить индекс кнопки UIAlertController для да и нажатия кнопки. – saravanar

+0

благодарит вас. Вы экономите свое время –

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

  • Нет связанных вопросов^_^