Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I create a segue that can be called from a button that is created programmatically?

Tags:

In Swift I have a button created programmaticaly using:

var button = UIBarButtonItem(title: "Tableau", style: .Plain, target: self, action: "tabBarTableauClicked") 

I want that when the user clicks the button it changes viewControllers. Here is the code for tabBarTableauClicked:

func tabBarTableauClicked(){     performSegueWithIdentifier("tableau", sender: self) } 

But it is obviously not working because there is no segue with an identifier called "tableau".

And I can't create a segue using Ctrl + click the button and drag to the second viewController because the button is created programatically and not in the Storyboard.

How can I create a segue with an identifier programmatically in Swift?

like image 646
Clément Bisaillon Avatar asked Oct 20 '14 00:10

Clément Bisaillon


1 Answers

Here is how to set up a segue so that it can be called programmatically.

  • Control drag from the ViewController icon in the first view controller to the second view controller.
  • Click on the segue arrow between the two view controllers, and in the Attributes Inspector on the right, give the segue an Identifier (tableau in your case).
  • Then you can trigger the segue with performSegueWithIdentifier in your code.

enter image description here

You can read more about setting up and using segues here.

like image 111
vacawama Avatar answered Sep 22 '22 07:09

vacawama