Форма просмотра нагрузки StoryBoard, которая не имеет Segue

Мне очень нравится иметь все мои взгляды, изложенные в раскадровке, но бывают случаи, когда у меня будет представление, которое отображается на основе кнопки, которая генерируется кодом, поэтому не будет ссылки Segue - это будет полностью отключен в Раскадке. Я все равно хотел бы его проектировать в раскадровке, хотя я мог бы получить хороший обзор всех моих экранов.

Возможно ли загрузить XIB (или что-то еще в раскадровке), разработанное в раскадровке, когда загружен UIViewControler?

Ответ 1

Я делаю это в своих проектах:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
UIViewController *myController = [storyboard instantiateViewControllerWithIdentifier:@"MyViewController"];
[self.navigationController pushViewController: myController animated:YES];

Просто убедитесь, что вы правильно установили свой идентификатор контроллера. Вы можете сделать это:

  • выбор контроллера в раскадровке
  • на панели "Утилиты" щелкните "Инспектор атрибутов". Независимо от того, что вы решили поместить в поле Идентификатор, это то, что содержится в инструкции "instantiateViewControllerWithIdentifier".

Надеюсь, это поможет.

Ответ 2

Вы должны назначить идентификатор раскадровки для своего контроллера представления.

IB > Показать инспектора удостоверений > Идентификация > Искажение раскадровки

Искажение раскадровки

Swift

let storyboard = UIStoryboard(name: "Main", bundle: nil)
let viewcontroller = storyboard.instantiateViewControllerWithIdentifier("viewController")
                     as? UIViewController
if let navigationController = self.navigationController {
    navigationController.pushViewController(viewcontroller!, animated: true)
}