it-swarm.com.ru

iOS - Push viewController из кода и раскадровки

У меня есть этот код

 PlaceViewController *newView = [self.storyboard instantiateViewControllerWithIdentifier:@"PlaceView"];
 [self presentViewController:newView animated:YES completion:nil];

И я могу изменить представление, но я бы подтолкнул это представление, потому что, когда я вернусь на этой странице, состояние сохраняется.

Я пытаюсь поставить этот код:

[self.navigationController pushViewController:newView animated:YES];

но ничего не делает.

Спасибо

10
Xose
PlaceViewController *newView = [self.storyboard instantiateViewControllerWithIdentifier:@"storyBoardIdentifier"];
[self.navigationController pushViewController:newView animated:YES];

Проверьте 2 вещи,

  1. ваш идентификатор раскадровки правильный.

  2. В корневом представлении есть навигационный контроллер.

36
Vineesh TP

Использование:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"STORYBOARD_NAME" bundle:nil];
PlaceViewController *newView = [storyboard instantiateViewControllerWithIdentifier:@"PlaceView"];
[self presentViewController:newView animated:YES completion:nil];

Или же: 

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"STORYBOARD_NAME" bundle:nil];
PlaceViewController *newView = [storyboard instantiateViewControllerWithIdentifier:@"PlaceView"];
[self.navigationController pushViewController:newView animated:YES];
4
Alino

Для раскадровок вы должны использовать performSegueWithIdentifier примерно так:

 [self performSegueWithIdentifier:@"identifier goes here" sender:self];
4
Sumanth

Swift 3.x

let viewController = storyboard?.instantiateViewController(withIdentifier: "storyboardIdentifier") as! UIViewController
navigationController?.pushViewController(viewController, animated: true)
2
footyapps27

По умолчанию Xcode создает стандартный контроллер представления. Сначала мы изменим контроллер представления на контроллер навигации. Выберите Просто выберите «Редактор» в меню и выберите «Встроить», а затем «Контроллер навигации» Шаг 1. Выберите Основную раскадровку Шаг 2. Нажмите «Редактор» в верхней части приложения XCode. . Шаг 3. Нажмите «Вставить» 

Xcode автоматически встраивает View Controller с Navigation Controller.

0
Shashikant Kashodhan