代码之家  ›  专栏  ›  技术社区  ›  abbood

为什么IB有时不向视图控制器添加子视图

  •  0
  • abbood  · 技术社区  · 11 年前

    有时IB根本不允许您将视图作为子视图添加到 UIViewController 如图所示 enter image description here

    如果我从对象库中拖动UIViewController,并尝试将其嵌入到邮箱视图控制器中。。它没有突出显示,但是如果我尝试将它添加到底部的通用视图控制器中,它会很好(邮箱视图控制器是否有一个客户类 邮箱视图控制器 与此有关吗?)

    我很确定我可以通过编程来做到这一点(这是我接下来要尝试的),但我想知道这是否有原因(以及是否有办法绕过它)。

    更新: 这就是我正在努力实现的目标:我一直在遵循这些步骤 here 在搜索栏下面实现一个分段视图控制器,就像在iphone中一样 mail app ..然而,我一直收到一个错误,说一个视图一次只能属于一个视图控制器。。所以我想做的基本上是创建一个单独的视图控制器,从 MailboxViewController 作为一个出口,使我的搜索区域的包含视图成为这个新视图控制器的视图(这是我陷入困境的地方),最后使 searchContentsController 的财产 UISearchDisplayController 请参阅此新视图控制器的视图。(如果这听起来很困惑,我知道确实如此,请参考这个 answer )

    1 回复  |  直到 7 年前
        1
  •  0
  •   jrturton ShowMe Xcode    11 年前

    从您的屏幕截图中 view 邮箱视图控制器的属性是表视图。

    接口生成器中的表视图不支持将任意视图作为子视图拖放到它上面——它在运行时会将它们放在哪里?在IB中,表格没有内容,只有单元格的可视化表示,让您知道它是什么。

    你还没有说你想设置什么,所以我不能提供任何额外的帮助。以编程方式将子视图添加到表视图中可能也不会给你带来你想要的效果——表视图是UIScrollView的子类,所以你的新视图要么会移出屏幕,要么会被添加单元格的表视图所覆盖。