为什么创建新的UIView类时不能同时创建XIB?

3
如果我创建一个新的UIViewController类,我也可以勾选“同时创建XIB文件”的框。然而,为什么当我创建UIView时,复选框被禁用了,我必须手动创建一个XIB来将两个(XIB和UIView)链接在一起呢?

enter image description here


可能是 https://dev59.com/XFkT5IYBdhLWcg3wFrkT 的重复问题。 - MS_iOS
1个回答

8
如果我创建一个新的UIViewController类,我也可以勾选复选框以创建XIB文件。然而,为什么当我创建UIView时,该复选框被禁用,我必须手动创建一个XIB来将两者(XIB和UIView)链接在一起呢?因为一个视图控制器和nib之间的关系与视图和nib之间的关系完全不同。 UIView和nibs没有任何“神奇”或重要的联系方式,就像UIViewController及其视图nib一样。对于一个视图控制器,如果有一个与视图控制器类名称相同的nib,并且如果该nib中的File's Owner被输入为视图控制器类别,如果File's Owner的view outlet指向nib中的顶级UIView,则视图控制器可以从nib自动加载其视图。这是一种复杂的安排,你可能不知道如何正确配置它(即使你知道,也需要大量工作),因此模板提供了为您配置它的选项。这是标准、重要、自动的关系。但是对于视图和nib,没有这样的标准自动关系,也没有复杂性。如果您希望特定nib中的某个视图成为特定的UIView子类,只需在其Identity检查器中声明即可。这样做就可以了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接