4

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

    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 文件。我只使用情节提要

4

3 回答 3

1

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

界面生成器快照

于 2012-10-14T11:32:29.647 回答
1

xib文件中,是您UIView设置为文件所有者的视图。这大概就是问题所在。此外,如果您只是 apply init,这将加载EmergencyPlanViewController具有相同名称的界面构建器文件: EmergencyPlanViewController.xib 因此,请确保在这种情况下:EmergencyPlanViewController笔尖确实是: EmergencyPlanViewController.xib 或者您编写的是initinitWithNibName://whatever nib name here

于 2012-05-26T10:05:15.067 回答
0

尝试这个:-

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

    [self.navigationController presentModalViewController:emergencyPlanView animated:YES];
于 2012-05-26T10:14:50.943 回答