【问题标题】:UIViewController not working for the first timeUIViewController 第一次不工作
【发布时间】:2010-11-24 12:27:07
【问题描述】:

MyController *myViewController = [[MyController alloc] initWithNibName:@"myView" bundle:nil];

nib 文件 myView.nib 有 2 个 uiimageviews 和 2 个 uilabels。当我第一次初始化 myViewController 时,所有 4 个子视图都设置为 0x0。 我第二次没有这种行为。

【问题讨论】:

    标签: iphone uiviewcontroller initialization nib null


    【解决方案1】:

    在通过 self.view 引用并调用 loadView 之前,不会创建视图对象本身。可能是您第一次尝试检查视图或对其执行某些操作时尚未发生,第二次可能是在系统创建视图之后,如果您将其添加到另一个视图或导航控制器或东西。

    【讨论】:

      【解决方案2】:

      您可能忘记将 Nib 文件中的视图连接到 MyController 的 view 属性,和/或将子视图连接到 MyController 的各种 IBOutlets

      【讨论】:

      • 如何将 nib 文件中的视图与视图控制器的视图属性挂钩?
      【解决方案3】:

      凯夫拉是绝对正确的。您可以使用以下语句强制加载视图并设置所有引用:

      if (myViewController.view);
      

      除了将所有子视图绑定到插座之外,它什么也不做。

      【讨论】:

      • 这是空语句。访问 myViewController.view 会自动加载视图,这是一个技巧。
      • [myViewController view]; 可能更可取,因为它不会触发任何编译时错误。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-21
      • 2012-05-16
      • 2013-03-22
      • 1970-01-01
      相关资源
      最近更新 更多