2014-09-24 2 views
0

Показать некоторые предупреждения в моем приложении, используя UIAlertView в iOS 7.1, отлично работает в iOS 8, появляется предупреждение, но без кнопок для отмены, ОК и других ... Это приводит к тому, что пользователь не может закройте оповещение и, следовательно, застряли на этом экране, чтобы закрыть приложение.iOS 8 UIAlertView не показывает кнопки

Я пытался реализовать UIAlertView и предыдущие версии для IOS UIAlertController 8 см код ниже:

if ([[[UIDevice currentDevice] systemVersion] floatValue] < 8.0) { 
      UIAlertView *alerta = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"s000xS2", @"Alerta") message:NSLocalizedString(@"s000xS40", nil) delegate:self cancelButtonTitle:NSLocalizedString(@"s000xS34", @"Não") otherButtonTitles:NSLocalizedString(@"s000xS35", @"Sim"), nil]; 

      [alerta show]; 
     }else{ 
      UIAlertController * alert= [UIAlertController 
              alertControllerWithTitle:NSLocalizedString(@"s000xS2", @"Alerta") 
              message:NSLocalizedString(@"s000xS40", nil) 
              preferredStyle:UIAlertControllerStyleAlert]; 

      UIAlertAction* sim = [UIAlertAction 
           actionWithTitle:NSLocalizedString(@"s000xS35", @"Sim") 
           style:UIAlertActionStyleDefault 
           handler:^(UIAlertAction * action) 
           { 
            [Util abrirSite:[[[Player sharedPlayer] emissora] site]]; 
            [alert dismissViewControllerAnimated:YES completion:nil]; 

           }]; 
      UIAlertAction* nao = [UIAlertAction 
            actionWithTitle:NSLocalizedString(@"s000xS34", @"Não") 
            style:UIAlertActionStyleDefault 
            handler:^(UIAlertAction * action) 
            { 
             [alert dismissViewControllerAnimated:YES completion:nil]; 

            }]; 

      [alert addAction:sim]; 
      [alert addAction:nao]; 


      [self presentViewController:alert animated:NO completion:nil]; 
     } 

С помощью этого кода я такая же проблема, кнопки не отображаются в оповещении, любые предложения обойти это?

Обратите внимание: я использую строки для интернационализации, они обычно работают, уже протестированы, поместив строку непосредственно (@ "..."), но это не сработало.

ответ

1

Попробуйте это:

UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"ALERTA!" message:@"What will you do?" **preferredStyle:UIAlertControllerStyleAlert**]; 
__weak ViewController *wself = self; 

UIAlertAction *nao = [UIAlertAction actionWithTitle:@"I'm doing something" ***style:UIAlertActionStyleCancel*** handler:^(UIAlertAction *action) { 
    __strong ViewController *sself = wself; 
    sself.**lbl**.text = @"You did something!"; **//the text "You did something!" gets displayed on a label(if created) named lbl** 
}]; 
[alert addAction:nao]; 
[self presentViewController:alert animated:NO completion:nil]; 

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

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