presentModalViewController给出一个黑屏

时间:2012-05-26 09:51:23

标签: objective-c ios ios5

在一个警报视图方法中,我实现了以下(非常标准的)代码片段来弹出模态视图:

    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文件。我只使用故事板

3 个答案:

答案 0 :(得分:1)

xib文件中,您的UIView是否设置为文件所有者的视图。这可能就是问题所在。此外,如果您只应用init,那么将加载具有相同名称的EmergencyPlanViewController接口构建器文件:  EmergencyPlanViewController.xib 所以在这种情况下要确保: 确实是EmergencyPlanViewController笔尖:EmergencyPlanViewController.xib 或者您写的不是initinitWithNibName://whatever nib name here

答案 1 :(得分:1)

通过在Interface Builder中为视图设置背景颜色来呈现模态视图控制器时,我设法解决了黑屏问题。我注意到默认情况下,视图的背景颜色设置为黑/白(见附图),尽管它显示为白色。我不确切地知道这是什么意思或它如何负责显示黑屏,但设置单一颜色或纹理固定它。 PS:从iOS SDK 5迁移到6时,我遇到了这个问题。

Interface Builder Snapshot

答案 2 :(得分:0)

试试这个: -

    EmergencyPlanViewController *emergencyPlanView=[[EmergencyPlanViewController alloc] initWithNibName:@"EmergencyPlanViewController" bundle:nil];
    emergencyPlanView.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;

    [self.navigationController presentModalViewController:emergencyPlanView animated:YES];