tab bar ios ios5 uiviewcontroller uistoryboard

ios - uitabbar



Presente el guión gráfico ViewController de otro ViewController (5)

Tengo varios UIViewControllers en el Storyboard de mi aplicación para iOS. Quiero abrir uno de los UIViewControllers (en el guión gráfico) de un UIViewController diferente.

He intentado el siguiente código, pero no funciona aunque lo usé antes de iOS 5 y funcionó bien.

- (IBAction)addNotes:(id)sender { NotesViewController *notesView = [[NotesViewController alloc] initWithNibName:@"NotesViewController" bundle:nil]; [self presentModalViewController:notesView animated:YES]; }

¿Cómo puedo realizar esta acción con iOS 5 Storyboards?


Actualización con la versión Swift 3.1

Si no ha integrado el controlador de navegación, entonces

let storyBoard:UIStoryboard = UIStoryboard(name: "Main", bundle: nil) let viewController2 = storyBoard.instantiateViewController(withIdentifier: "ViewController2") self.present(viewController2, animated: true, completion: nil)

y, si tiene integrado el controlador de navegación

let storyBoard:UIStoryboard = UIStoryboard(name: "Main", bundle: nil) let viewController2 = storyBoard.instantiateViewController(withIdentifier: "ViewController2") self.navigationController?.pushViewController(viewController2, animated: true)


En la respuesta rápida 4.2 para aquellos que desean esta respuesta sin navegación en versiones modales y en actualizaciones rápidas.

let storyboard = UIStoryboard(name: "YourStoryboardName", bundle: nil) let controller = storyboard.instantiateViewController(withIdentifier: "mainViewController") self.present(controller, animated: true, completion: nil)


Suponiendo que tiene un guión gráfico, vaya al guión gráfico y asigne un identificador (inspector) a su VC, luego haga lo siguiente:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"IDENTIFIER"]; [self.navigationController pushViewController:vc animated:YES];

Asumiendo que tienes un archivo xib que quieres hacer:

UIViewController *vc = [[UIViewController alloc] initWithNibName:@"NIBNAME" bundle:nil]; [self.navigationController pushViewController:vc animated:YES];

Sin un archivo xib:

UIViewController *vc = [[UIViewController alloc] init]; [self.navigationController pushViewController:vc animated:YES];


Lo siguiente funcionará en Swift 3.0 y superior.

StoryBoard

let storyBoard = UIStoryboard(name: "Main", bundle: nil) let mainViewController = storyBoard.instantiateViewController(withIdentifier: "Identifier") self.navigationController?.pushViewController(mainViewController, animated: true)

.xib

let viewController = UIViewController(nibName: "NibName", bundle: nil) self.navigationController?.pushViewController(viewController, animated: true)

Sin .xib

let viewController = UIViewController() self.navigationController?.pushViewController(viewController, animated: true)


UIViewController *initialHelpView = [[UIStoryboard storyboardWithName:@"StoryBoard_IDentifier" bundle:nil] instantiateViewControllerWithIdentifier:@"ViewController_Identifier"]; [self presentViewController:initialHelpView animated:YES completion:nil];