【问题标题】:UINib (iOS): possible to instantiate more than one view from a nib file?UINib (iOS):可以从一个 nib 文件中实例化多个视图吗?
【发布时间】:2018-01-15 09:28:55
【问题描述】:

我注意到UINib:instantiate(withOwner:options:) 返回一个数组。这是否意味着一个 nib 文件可以包含多个视图?在我看到的每个示例中,只有一个视图,它是数组中的第一个对象。数组中其他(可能的)元素是什么?

我问这个问题是因为我想了解整个机制是如何工作的,而不是因为我想以这种方式工作,所以欢迎任何理论背景信息。

谢谢!

编辑:如果我可以在一个 nib 文件中有多个视图,如何将第二个视图连接到 UIView 子类?只有一个File's Owner

【问题讨论】:

  • Resource Programming Guide 有一些有用的信息。
  • 已经读过了。找不到我的问题的答案,而且语言远非简单。

标签: ios uiview view instantiation uinib


【解决方案1】:

是的,您可以在 nib 文件中拥有多个视图。例如。

具有两个根视图的Test.nib

加载它

if let views = Bundle.main.loadNibNamed("Test", owner: nil) {
     print(views)
}

views 将是两个数组。数组的第一个元素是UIView,第二个元素是UITableViewCell

【讨论】:

  • 那么,如果我想将它们连接到 UIView 的子类怎么办?那可能吗?只有一个文件的所有者
  • 您可以在Identity Inspector 中为两个视图设置自定义类。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-27
  • 2010-11-08
  • 1970-01-01
  • 2014-07-20
相关资源
最近更新 更多