【问题标题】:iPhone -- black screen in simulator -- viewcontrolleriPhone——模拟器黑屏——viewcontroller
【发布时间】:2012-06-11 19:45:09
【问题描述】:

我已经搜索了这个论坛并查看了在 iPhone 模拟器上加载屏幕时“黑屏”视图问题的各种解决方案,但我相信我的问题是独一无二的,因此我还没有找到解决方案.

这是发生了什么:

  • 当我使用 Interface Builder 使用“push”segue(拖动线,选择“push”)将 ViewA 链接到 ViewB 时,ViewB 正确加载;
  • 当按下 ViewA 上的按钮时执行“push”。

但是,当我在按下 ViewA 上的按钮时尝试以编程方式加载 ViewB 时,ViewB 显示为黑屏。这是我正在做的事情:

  • 我正在使用最新版本的 XCode;
  • -(void) loadView 已被 ViewB 注释掉;
  • 我使用 Interface Builder 创建了 ViewA 和 ViewB 并且这两个 View 都没有 .xib 文件,所以我相信我不能在以编程方式分配 + 初始化时使用“initWithNibName”参数 (?)按下按钮时的 ViewB (?)。
  • 我有一个 NavigationController,ViewA 是“RootView”,ViewA 和 ViewB 都有一个 ViewController。
  • 我用来通过按下 ViewA 按钮以编程方式加载 ViewB 的代码如下:

    ViewB *viewB = [[ViewB alloc] init]; [self.navigationController pushViewController:viewB 动画:YES];

有人有解决办法吗? (P.S--这个社区太棒了!!!)

谢谢大家!

【问题讨论】:

    标签: ios5 ios-simulator


    【解决方案1】:

    尝试使用 initWithNibName:@"" 包初始化 ViewController: 将该视图的 XIB 文件的名称放在第一个参数的位置,不带扩展名“.xib”,并将包设置为 nil 或 [NSBundle mainBundle]。您可以进一步查看 Apple 文档。

    【讨论】:

    • 感谢您的建议!如果我在创建与 ViewB 关联的类时没有创建 .xib 怎么办?
    • 我可能不得不使用“instantiateViewControllerWithIdentifier:@”
    【解决方案2】:

    当你使用故事板时,你应该像这样初始化你的 ViewController

    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:[NSBundle bundleForClass:[self class]]];
    ViewControllerB *viewController = [storyboard instantiateViewControllerWithIdentifier:@"identifier"];
    [self.navigationController viewController animated:YES];
    

    在界面生成器中,您应该将尝试初始化的视图控制器的标识符设置为“标识符”

    (MianStoryboard_iPhone 当然是你故事板的名字!)

    【讨论】:

      【解决方案3】:

      可能 [self navigationController] 为 nil,检查一下。

      【讨论】:

        【解决方案4】:

        可能你的 XIB 搞砸了。您可以尝试删除 viewcontroller.m[h][xib] 并添加一个新的。在此之前,复制并粘贴 m 和 h 文件的内容。添加新的空视图控制器后,刚刚过去的内容。不幸的是,您将不得不再次组装 xib。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-12-03
          • 2020-06-15
          • 2017-12-16
          • 2020-12-31
          • 1970-01-01
          相关资源
          最近更新 更多