【问题标题】:programmatically instantiated ViewController results in black view以编程方式实例化 ViewController 导致黑色视图
【发布时间】:2012-10-30 22:42:03
【问题描述】:

我在 Storyboard 中使用了一个简单的 GLKViewController,效果很好。

由于我希望它的视图显示在另一个视图的前面,为了将 openGL 对象放在另一个视图之上,我在第二个 VC 中以编程方式实例化 GLKViewController 并将 GLKViewController´s 视图添加为子视图:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle: nil]; 
AROpenGLVC *openGlVC = [storyboard instantiateViewControllerWithIdentifier:@"objects OpenGL Controller"];
[self.view addSubview:openGlVC.view];

不幸的是,结果是没有我的动画 openGL 对象的黑色视图。

我运行了调试器,它似乎也完成了所有初始化。

- (void)glkView:(GLKView *)view drawInRect:(CGRect)rect也被调用,

但- (void)update方法不是。

一定很明显,但我不明白为什么。

【问题讨论】:

    标签: iphone ipad ios5.1


    【解决方案1】:

    试试这个:

    -(IBAction)nextView{
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard"   
    bundle:nil];
    AROpenGLVC * nextView = (AROpenGLVC *) [storyboard 
    instantiateViewControllerWithIdentifier:@"detailView"];
    [self presentViewController:detailView animated:YES completion:nil];
    }
    

    //在第 4 行显示 ...WithIdentifier:@"detailView"];,进入故事板,单击视图控制器(黄色框),然后单击选项卡,在其中选择视图控制器的类属于(身份检查员)。

    在右侧,将情节提要与 "" 之间的名称相同。然后将该方法连接到一个按钮,它应该会为您切换视图!

    附:确保您的故事板名称与指定的相同! :D

    如果您想自动呈现视图,请确保您已正确命名视图控制器!

    【讨论】:

      【解决方案2】:

      你是否在根视图控制器中保留了 AROpenGLVC?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-11
        • 2014-11-06
        • 1970-01-01
        • 2016-01-01
        • 2020-12-29
        相关资源
        最近更新 更多