我有一个使用故事板功能的 iPad 应用程序,然后我有一个单独的 .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
在故事板中定义,它位于右侧的“实用程序”、“属性检查器”中。
HOWEVER你真正的问题是你根本不应该从故事板加载。你应该打电话
[self dismissModalViewControllerAnimated:YES];
该调用将清理presentModalViewController:animated:
您曾经将模态视图控制器放在首位。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)