Я хочу открыть новый UIViewController на кнопке через код. Я уже сделал контроллер в раскадровке и просто хочу связать его, а также не хочу использовать интерфейс XIB или nibName?

14
Manu Gupta 12 Дек 2014 в 13:30

3 ответа

Лучший ответ

Чтобы открыть новый контроллер представления, вам нужно написать эту строку в событии нажатия кнопки:

self.performSegueWithIdentifier("GoToViewController", sender:self)

Чтобы подключиться к новому контроллеру представления, выполните следующие действия:

  • Выберите Новый контроллер представления из раскадровки и щелкните его правой кнопкой мыши.

  • Вы увидите, что появится всплывающее окно Dark Dray (см. Изображение).

  • Теперь в разделе Presenting Segues выберите Present Modally и перетащите к контроллеру представления, откуда вам нужно открыть этот контроллер представления и связать его.

  • Вы найдете новый сегмент, созданный в разделе Новый контроллер представления.

  • Теперь выберите этот переход, перейдите к инспектору и скопируйте идентификатор или переименуйте и скопируйте его.

  • Используйте этот идентификатор в строке выше

Надеюсь, это сработает.

enter image description here

20
Jojo56400 28 Ноя 2016 в 14:47
self.navigationController!.pushViewController(self.storyboard!.instantiateViewControllerWithIdentifier("userProfileController") as UIViewController, animated: true)

Я хотел добавить свой контроллер представления к контроллеру навигации, и это тоже сработало.

14
Manu Gupta 12 Дек 2014 в 12:26

Для Swift 4.2 попробуйте следующий код:

self.navigationController!.pushViewController(self.storyboard!.instantiateViewController(withIdentifier: "inventoryViewController") as UIViewController, animated: true)
1
Siong Thye Goh 11 Май 2019 в 16:28