故事板和切换视图?

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

-(IBAction)SecondView:(id)sender{ SecondView *Second = [[SecondView alloc] initWithNibName:nil bundle:nil]; [self presentModalViewController:Second animated:NO]; } 

但是,当我在第二个视图,并尝试返回时,我做的一切都与第一个视图控制器一样,但它只是进入黑屏:

 -(IBAction)FirstView:(id)sender{ FirstView *First = [[FirstView alloc] initWithNibName:nil bundle:nil]; [self presentModalViewController:First animated:NO]; } 

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

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

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

  FirstView *First= [self.storyboard instantiateViewControllerWithIdentifier:@"IDENTIFIER"]; 

IDENTIFIER在故事板中定义,它位于右侧的Utilities,Attributes Inspector中。

但是你真正的问题是,你不应该从故事板加载。 你应该只是打电话

 [self dismissModalViewControllerAnimated:YES]; 

这个调用将清理presentModalViewController:animated:你曾经把模态视图控制器放在首位。

您使用presentModalViewController:animated:提供了SecondView presentModalViewController:animated: SecondView所以您需要使用dismissModalViewControllerAnimated:来closures它。

 - (IBAction)FirstView:(id)sender { [self dismissModalViewControllerAnimated:YES]; }