загрузить форму просмотра StoryBoard без Segue

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

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

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

Ответы на вопрос(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)
}
Решение Вопроса

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.

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

 21 нояб. 2013 г., 06:23
Первоначально это не тренировки, но потом ..[self presentViewController:vc animated:YES completion:NO]; сделал магию для меня в последней строке.
 19 июн. 2014 г., 22:55
Да, Mayu, следует отметить, что использование [self.navigationController push ...] работает, только если этот контроллер представления встроен в контроллер представления навигации.
 Slee21 мая 2012 г., 13:01
идеально, именно то, что я искал - спасибо. Хотя это не является абсолютно необходимым, приятно видеть все мои UIViews на одном экране.

Ваш ответ на вопрос