为什么新建UIView class,不能一起新建一个XIB?

Why when create new UIView class, can't create a XIB together?

如果我创建一个新的 UIViewController class,我还可以选中 Also create XIB file 的复选框。

但是,为什么当我创建 UIView 时,复选框被禁用,我必须手动创建一个 XIB 以 link 两者(XIB 和 UIView)一起?

If I create a new UIViewController class, I could also checked the box to Also create XIB file. However, why when I create UIView, the check box is disabled, and I have to manually create a XIB to link the two (XIB and the UIView) together? [Emphasis mine.]

因为视图控制器和笔尖之间的关系与视图和笔尖之间的关系完全不同。 UIView 和 nib 不会以任何神奇或重要的方式 "go together",就像 UIViewController 及其视图 nib 一样。

  • 对于视图控制器,如果有一个与视图控制器同名的 nib class,并且如果该 nib 中的文件所有者键入 class,如果文件所有者的 view 出口指向 nib 中的顶级 UIView,则视图控制器可以从 nib 自动加载其视图。这是一个复杂的安排,您是否知道如何正确配置它是值得怀疑的(即使您确实知道如何配置它也需要大量工作),因此模板提供了为您配置它的功能。这是一个标准的、重要的、自动的关系。

  • 但是有了view和nib就没有没有这种标准的自动关系,也没有复杂性。如果您希望某个 nib 中的某个视图属于某个 UIView subclass,您只需在其身份检查器中这样说,然后就大功告成了。所以就这样做并继续前进。