故事板和切换视图?
我有一个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]; }