在一个警报视图方法中,我实现了以下(非常标准的)代码片段来弹出模态视图:
else if (buttonIndex == 1) {
EmergencyPlanViewController *emergencyPlanView = [[[EmergencyPlanViewController alloc] init] autorelease];
[emergencyPlanView setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];
[self presentModalViewController:emergencyPlanView animated:YES];
}
不知何故,它给了我一个黑屏。我在这里找不到什么问题。 我在MainStoryBoard中创建了窗口,并将IB中viewcontroller的类自定义为EmergencyPlanViewController。
emergencyPlanView的viewDidLoad方法被触发,但看起来没有加载视图。谁知道这里有什么问题?
修改 要清楚,我没有在我的项目中使用单独的xib文件。我只使用故事板
答案 0 :(得分:1)
在xib
文件中,您的UIView
是否设置为文件所有者的视图。这可能就是问题所在。此外,如果您只应用init
,那么将加载具有相同名称的EmergencyPlanViewController
接口构建器文件:
EmergencyPlanViewController.xib
所以在这种情况下要确保:
确实是EmergencyPlanViewController
笔尖:EmergencyPlanViewController.xib
或者您写的不是init
:initWithNibName://whatever nib name here
答案 1 :(得分:1)
通过在Interface Builder中为视图设置背景颜色来呈现模态视图控制器时,我设法解决了黑屏问题。我注意到默认情况下,视图的背景颜色设置为黑/白(见附图),尽管它显示为白色。我不确切地知道这是什么意思或它如何负责显示黑屏,但设置单一颜色或纹理固定它。 PS:从iOS SDK 5迁移到6时,我遇到了这个问题。
答案 2 :(得分:0)
试试这个: -
EmergencyPlanViewController *emergencyPlanView=[[EmergencyPlanViewController alloc] initWithNibName:@"EmergencyPlanViewController" bundle:nil];
emergencyPlanView.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self.navigationController presentModalViewController:emergencyPlanView animated:YES];