14

I want to open new UIViewController on the button through code. I have already made the controller in storyboard and just want to link it and also I don't want to use XIB interface or nibName?

Cœur
  • 37,241
  • 25
  • 195
  • 267
Manu Gupta
  • 1,759
  • 1
  • 14
  • 22

3 Answers3

20

To open New view controller you need to write this line in button click event:

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

To link up with new view controller follow this steps:

  • Select New view controller from storyboard & right click on it

  • You will find Dark dray popup will appear (see image )

  • Now under Presenting Segues select Present Modally & drag to the View controller from where you need to open up this view controller & link it

  • You will find new segue created under New view controller

  • Now select that segue go to inspector & copy the identifier or rename & copy it

  • Use that identifier in above line

Hope it will work.

enter image description here

Jojo56400
  • 309
  • 3
  • 12
cyberlobe
  • 1,783
  • 1
  • 18
  • 30
14
self.navigationController!.pushViewController(self.storyboard!.instantiateViewControllerWithIdentifier("userProfileController") as UIViewController, animated: true)

I wanted to add my view controller to the navigation controller and this also worked

Manu Gupta
  • 1,759
  • 1
  • 14
  • 22
1

For swift 4.2, try the following code:

self.navigationController!.pushViewController(self.storyboard!.instantiateViewController(withIdentifier: "inventoryViewController") as UIViewController, animated: true)
Siong Thye Goh
  • 3,518
  • 10
  • 23
  • 31
Odwori
  • 1,460
  • 13
  • 14