Вопрос по ipad, ios5 – загрузить форму просмотра StoryBoard без Segue

11

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

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

Можете ли вы дать нам пример того, что вы пытаетесь сделать? какие данные отвечают за создание нового представления? В общем, я рекомендую вам создать новый класс или просто представление с тем же классом, и в зависимости от того, какой пользователь вы скрываете или генерируете содержимое представления. Вам будет легче Shawn

Ваш Ответ

2   ответа
2

Storyboard ID на ваш взгляд контроллер.

IB > Show the Identity inspector > Identity > Storyboard ID

Storyboard ID

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)
}
24

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

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

selecting the controller in Storyboard in the Utilities panel, click the Attributes inspector. Whatever you decide to put in the Identifier field is what goes in the 'instantiateViewControllerWithIdentifier' statement.

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

Первоначально это не тренировки, но потом ..[self presentViewController:vc animated:YES completion:NO]; сделал магию для меня в последней строке.
Да, Mayu, следует отметить, что использование [self.navigationController push ...] работает, только если этот контроллер представления встроен в контроллер представления навигации.
идеально, именно то, что я искал - спасибо. Хотя это не является абсолютно необходимым, приятно видеть все мои UIViews на одном экране. Slee

Похожие вопросы