【问题标题】:IPhone : View property on a Xib, is it special?iPhone : 在 Xib 上查看属性,有什么特别之处吗?
【发布时间】:2011-08-22 15:49:31
【问题描述】:

我不敢相信我被困在这个问题上,但是就这样吧。

我有一个 viewController,我试图通过 addsubview 属性(基本 as)将它添加到另一个 viewController 但是我没有做 viewController.view 而是 viewController.myView1。

我基本上在 xib 上有 2 个根视图(都带有插座)但是我不想连接 xib 的视图属性,因为我想选择要显示的视图。

我无法让它出现!视图属性是某种特殊的钩子吗?

我不明白为什么 addsubview:mysubview 不应该工作?

有些例子似乎使用了 2 个不同的 xib,但这似乎有点过头了

【问题讨论】:

  • 看看我有没有关注你。在您的 xib 中,您有类似 myView1 和 myView2 的内容。您可以通过将其视图作为子视图添加到 myView1 来将您的其他视图控制器添加到其中。但是 myView1 和添加的 subView 都没有显示。是这样吗?
  • 不,我有你所说的 xib,但我正在将 xib 添加到另一个视图控制器,myView1/2 都不会出现

标签: iphone uiview uiviewcontroller


【解决方案1】:

首先,Apple 说视图控制器应该用于充满视图的整个屏幕 - (但我猜 iPad 容器视图不同)。

我猜你想一次只使用一个视图控制器。在这种情况下,您不应该使用子视图 - 只需以编程方式创建视图控制器,创建视图,将视图分配给视图控制器的视图属性,然后将视图控制器添加到窗口或导航栏。

并且,在您的视图控制器中:

self = [super initWithNibName:nibOne bundle:nil];

可能是你想要的——它允许你在一个视图控制器上使用多个笔尖。

【讨论】:

    【解决方案2】:

    在将viewController.myView1 添加为子视图之前,您可以 NSLog 吗?是nil还是不是?

    如果是nil,请尝试在addSubview: 方法之前添加此行:

    [viewController view];

    注意:我所说的viewController是同一个viewController,它有两个根视图view和myView1。

    【讨论】:

    • 由于未捕获的异常“NSInternalInconsistencyException”,这会导致应用程序立即崩溃,原因:“-[UIViewController _loadViewFromNibNamed:bundle:] 加载了“PLNotificationViewController”笔尖,但未设置视图出口。 *** 在第一次抛出时调用堆栈:我们知道
    • 正如异常描述所说,可能“PLNotificationViewController”nib的视图的outlet没有设置。请您再检查一下您的 xib 设置好吗?
    【解决方案3】:

    您的代码应该很好,因为这相当简单,而且我一直都这样做。 只需确保您的插座连接正确,并且您正在合成它们并且它们在您的标题中是公开的。

    【讨论】:

      猜你喜欢
      • 2011-03-26
      • 2016-03-19
      • 2013-05-11
      • 1970-01-01
      • 2011-04-18
      • 2017-02-19
      • 2016-09-30
      • 1970-01-01
      相关资源
      最近更新 更多