2016-01-13 2 views
-1

У меня есть два экрана. От первого экрана до следующего экрана я подключался к push segue в раскадровке. Теперь на моем втором экране появится одно предупреждение с кнопкой ok. После нажатия кнопки ОК, мне нужно, чтобы перейти к моему первому экранукак перемещаться по контроллеру представления после нажатия кнопки UIAlert

Вот мой код:

- (void)signup:(NSDictionary *)params { 
    if (error) 
    { 
     [PCUtilities showAlertWithTitle:@"Oops" message:error.localizedDescription cancelButtonTitle:@"ok"]; 
    } 
} 

Внутри один метод, который я UIAlert.

Этот ниже код я пробовал, но не работал!

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex 
{ 
    NSString *title = [alertView buttonTitleAtIndex:buttonIndex]; 
    if([title isEqualToString:@"ok"]) 
    { 
     [self.navigationController pushViewController:[self.storyboard instantiateViewControllerWithIdentifier:@"AppMainNavController"] animated:YES]; 
    } 
} 

AppMainNavController = мой навигационный контроллер раскадровку ID

+1

'alertView' осуждается теперь используют пожалуйста' UIAlertController', как указано здесь: [UIAlertView первый осуждается IOS 9] (http://stackoverflow.com/questions/32690086/uialertview-first-deprecated- ios-9) –

+1

Используйте индекс кнопки вместо сравнения строк (заголовков). – byJeevan

ответ

0

Просто выскочить к предыдущему контроллеру представления, как показано ниже. Он появится в контроллере Previous View, из которого вы нажали.

 - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex 
     { 
      NSString *title = [alertView buttonTitleAtIndex:buttonIndex]; 
      if([title isEqualToString:@"ok"]) 
      { 
       [self.navigationController popViewControllerAnimated:YES]; 
      } 
     } 
+0

нет, все еще не переходя к моему первому представлению – user5735383

+0

U нужно установить делегат: self для UIAlertView внутри метода, а также добавить UIALertViewDelegate в файл .h. – Vidhyanand

+0

did't вам? Я добавил 'uialertdelegate' в мой .h .. И что установить делегат внутри моей' - (void) signup: (NSDictionary *) params {'method?/ – user5735383

0

Использовать указатель кнопки вместо названия кнопки будет сложно, если приложение имеет несколько языков. Если вы используете push segue, тогда просто отпустите текущий контроллер просмотра, он автоматически перейдет на предыдущую погоду на странице, нажмите «Секунда» или «Модальный сегмент».

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex 
{ 
    if(buttonIndex == 0) 
    { 
     [self dismissViewControllerAnimated:YES completion:nil]; 
    } 
} 
+0

все еще в моем втором представлении..не возвращаясь к моему первому представлению ... я использую 'show (например, push)' segue – user5735383

+0

проверить отредактированный ответ и дайте мне знать! @ User5735383 – Jaimish

+0

no still it in my second view controller .. не вернусь – user5735383

2
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex 
{ 
    if (buttonIndex==0) 
    { 
     [self.navigationController popViewControllerAnimated:YES]; 
    } 
} 
Смежные вопросы