故事板和切换视图?

use*_*627 2 iphone xcode objective-c ios xcode4

我有一个使用故事板功能的iPad应用程序,然后我有一个单独的.xib文件用于另一个视图.我可以切换到单独的视图及其罚款:

-(IBAction)SecondView:(id)sender{

    SecondView *Second = [[SecondView alloc] initWithNibName:nil bundle:nil];
    [self presentModalViewController:Second animated:NO];

}
Run Code Online (Sandbox Code Playgroud)

但当我在第二个视图中并尝试返回时,我只使用第一个视图控制器执行所有操作,但它只是进入黑屏:

-(IBAction)FirstView:(id)sender{

    FirstView *First = [[FirstView alloc] initWithNibName:nil bundle:nil];
    [self presentModalViewController:First animated:NO];

}
Run Code Online (Sandbox Code Playgroud)

你们有什么感想?难道我做错了什么?切换视图的最佳方法是什么?

ama*_*ttn 5

initWithNibName:bundle 用于加载nib或xib文件.

如果从故事板加载,则需要使用

    FirstView *First= [self.storyboard instantiateViewControllerWithIdentifier:@"IDENTIFIER"];
Run Code Online (Sandbox Code Playgroud)

IDENTIFIER 在故事板中定义,它位于右侧的"实用程序","属性"检查器中.

然而, 你真正的问题是你根本不应该从故事板加载.你应该打电话

[self dismissModalViewControllerAnimated:YES];
Run Code Online (Sandbox Code Playgroud)

该调用将清除presentModalViewController:animated:您用于将模态视图控制器放在首位的那个.