从另一个ViewController呈现storyboard ViewController

Ran*_*jit 21 uiviewcontroller ios ios5 uistoryboard

我的iOS App的Storyboard中有多个UIViewControllers.我想从另一个UIViewController打开一个UIViewControllers(在故事板中).

我已经尝试了下面的代码,但即使我在iOS 5之前使用它并且它工作正常它也无法正常工作.

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

如何使用iOS 5 Storyboards执行此操作?

DAS*_*DAS 54

假设您有故事板,请转到故事板并为您的VC提供标识符(检查员),然后执行:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"IDENTIFIER"];
[self.navigationController pushViewController:vc animated:YES];
Run Code Online (Sandbox Code Playgroud)

假设您有一个想要执行的xib文件:

UIViewController *vc = [[UIViewController alloc] initWithNibName:@"NIBNAME" bundle:nil];
[self.navigationController pushViewController:vc animated:YES];
Run Code Online (Sandbox Code Playgroud)

没有xib文件:

UIViewController *vc = [[UIViewController alloc] init];
[self.navigationController pushViewController:vc animated:YES];
Run Code Online (Sandbox Code Playgroud)


Vak*_*kas 7

以下将适用于Swift 3.0及更高版本.

故事板

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

的.xib

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

没有.xib

let viewController = UIViewController()
self.navigationController?.pushViewController(viewController, animated: true)
Run Code Online (Sandbox Code Playgroud)


小智 5

雨燕5

let storyboard = UIStoryboard(name: "YourStoryboardName", bundle: nil)
let vc = storyboard.instantiateViewController(withIdentifier: "ControllerIdentifier")
self.present(vc, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)