IOS - Push viewController из кода и раскадровки
У меня есть этот код
PlaceViewController *newView = [self.storyboard instantiateViewControllerWithIdentifier:@"PlaceView"];
[self presentViewController:newView animated:YES completion:nil];
И я могу изменить вид, но я бы нажал это представление, когда я вернусь на этой странице, состояние сохраняется.
Я пытаюсь поместить этот код:
[self.navigationController pushViewController:newView animated:YES];
но ничего не делает.
Спасибо
Ответы
Ответ 1
Objective-C:
PlaceViewController *newView = [self.storyboard instantiateViewControllerWithIdentifier:@"storyBoardIdentifier"];
[self.navigationController pushViewController:newView animated:YES];
Пожалуйста, обратите внимание ниже пунктов,
Ваш раскадровочный идентификатор правильный.
В корневом представлении есть навигационный контроллер.
Swift:
let newView = self.storyboard?.instantiateViewController(withIdentifier: "storyBoardIdentifier") as! PlaceViewController
self.navigationController?.pushViewController(newView, animated: true)
Ответ 2
Для раскадровки вы должны использовать performSegueWithIdentifier
следующим образом:
[self performSegueWithIdentifier:@"identifier goes here" sender:self];
Ответ 3
Использование:
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
Swift 3.x
let viewController = storyboard?.instantiateViewController(withIdentifier: "storyboardIdentifier") as! UIViewController
navigationController?.pushViewController(viewController, animated: true)
Ответ 5
По умолчанию Xcode создает стандартный контроллер представления. мы сначала меняем контроллер вида на контроллер навигации. Выберите "Просто выберите" "Редактор" в меню и выберите "Вставить", затем "Контроллер навигации",
Шаг 1. Выберите Главный сюжет
Шаг 2. Нажмите "Редактор" поверх приложения Xcode.
Шаг 3. Нажмите "Вставить"
Xcode автоматически вводит контроллер View с контроллером навигации.