【问题标题】:XcCode5: How do relationships work with interface builder?XcCode5:关系如何与界面生成器一起工作?
【发布时间】:2014-05-18 14:55:57
【问题描述】:

在故事板中,我试图让视图/控制器成为彼此的父母/孩子,尽管我不知道这是否可能。

视图控制器可以有子视图控制器,所以我想在视图上强制执行相同的结构。这可能吗?

例如,假设有ParentViewController 和ChildViewController(它们是 UIViewControllers)。然后就是对应的ParentView和ChildView(都是UIView)。

我在ParentView(和ParentViewController)中指定了一个UIImageView IBOutlet *imageView,就在中心,有一些尺寸(例如,视图是400 x 400)。

我所知道的是 ChildViewController 能够访问 ParentViewController 中的属性。但是我也可以通过 ParentView 的某种机制让 ChildView 连接到该插座吗? Storyboard 中似乎没有“拖动机制”。

我研究了像these 这样的问题,但他们没有答案,因为它部分过时(部分不同)。

【问题讨论】:

  • Melvin,为了帮助其他人在这里搜索,我将稍微编辑您的问题。你知道它是什么:你实际上并不是在问“继承”。继承只是当您子类化一个类时。 (例如,有 UIButton,您制作“UISpecialButton”。)在这里,您询问如何“连接”不同的视图和/或控制器。您正在谈论父子关系(与子类化完全无关)。 (确实请注意,您讨论的所有课程都是相同的。)因此,我将继续进行编辑,以供将来的读者使用。您绝对可以根据需要撤消或修改我的编辑!
  • 顺便说一下,如果您是游戏引擎工程师(unity、unreal 等),这是一个常见的混淆。游戏引擎完全基于“父子”关系运行。 {事实上,只不过是一个指向“父”或“子”的字段。} 有两个问题,(A)该领域的新程序员有时会认为这与子类化(又名继承),它不以任何方式; (B) 语言可能会混淆,因为有人可能会说一些关于“继承”某些信息或其他内容的一般性的话,这很清楚,但与“OO 继承(子类化)”无关。

标签: ios objective-c xcode inheritance


【解决方案1】:

梅尔文,这有可能……

https://stackoverflow.com/a/23403979/294884

是你所追求的。现在一切都是容器......

注意,在底部我提到了“顺便”这两种获取子视图控制器的方法,这就像“现代 iOS 编程中最重要的事情!”呵呵。 (iOS 文档中的解释非常糟糕。)

.

重复一遍,Apple 那种“从不提及这一点”是完全奇怪的——这几乎是制作除了最简单的应用程序之外的任何东西的核心概念。

在这个由容器驱动的新世界中,一切都变得异常简单(一旦它们连接在一起!)

希望我能理解你的问题,干杯!

【讨论】:

  • 别误会我的意思,我喜欢你为另一个问题提供的答案,但这不应该更像是一个评论,因为你所做的只是将他们指向你的另一个答案.
  • OP 的问题是关于继承的,似乎与容器视图控制器无关。
  • 啊,我明白了!所以容器视图类似于 HTML 中的框架。你得到了 ParentViewController (PVC) 并将它连接到 ParentView (PV)。您将 ChildVC 连接到 PVC 中的容器视图。是的,这样你就可以模拟继承。但是,如果您需要多个孩子在同一个地方(同时隐藏其他孩子)怎么办?我认为可以在 PVC 中布置多个容器视图,并且只在需要时显示其中一个。这样你就可以通过 IB 实现多重继承。感觉有点棘手/骇人听闻,对我来说绝对是一个小的范式转变。感谢您的回答!
  • 关于在一个容器视图中获取多个视图控制器,我发现一个教程也回答了这个问题。 sandmoose.com/post/35714028270/…
  • 我写了一篇评论(可能)为未来的读者澄清事情。我同意,我有点晚了 O:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-01-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多