Shirish Kumar
Shirish Kumar

Reputation: 1532

Initiating a segue from uiview or uivewcontroller that is not on storyboard

How can I initiate segue from a custom UIView or custom UIViewController that is not on Storyboard? - they are created programmatically inside a parent UIViewController.
Although the destination UIViewController is on the storyboard.

Upvotes: 0

Views: 1279

Answers (2)

Güngör Basa
Güngör Basa

Reputation: 628

First give storyboard id. Select the view controller than write a identifier(Storyboard ID) enter image description here

Secondly, just open your .m file then write belove codes.

UIStoryboard * st = [UIStoryboard storyboardWithName:@"nameOfStoryboard" bundle:nil];
MyViewController *viewController = [st instantiateViewControllerWithIdentifier:@"YourStoryboardID"];
[self.navigationController pushViewController:viewController animated:YES];

Last line of code. Might also be

[self presentModalViewController:viewController animated:YES];

Upvotes: 0

Levi
Levi

Reputation: 7343

Then just do it the old fashioned way. Instantiate it and present it modally or just push it if you are in a navigation controller. Hope this helps.

EDIT:

You can talk about segue only if it is in the storyboard. If Your source View Controller is not in it, you just present the next one as I said. You can instantiate your destination view controller from the storyboard:

MyViewController *viewController = [storyboard instantiateViewControllerWithIdentifier:@"MyViewController"];
[self presentViewController:controller animated:YES];

From this point you will be "back in the storyboard" so you can perform segues in the destination View Controller.

Upvotes: 1

Related Questions