Ios 检查UIView是从Nib/情节提要加载的还是以编程方式创建的

Ios 检查UIView是从Nib/情节提要加载的还是以编程方式创建的,ios,cocoa-touch,uiview,interface-builder,initwithcoder,Ios,Cocoa Touch,Uiview,Interface Builder,Initwithcoder,是否有任何方法可以确定是从nib文件/情节提要加载UIView,还是从用户代码动态实例化?我正在创建一个自定义的UIView子类,这样我就可以完全访问实例方法 检查initWithCoder:是否是一个好主意,或者还有其他方法吗 对于任何想知道我为什么需要这种功能的人:我正在开发一个库,在这个库中,我想根据一些视图的内容智能地调整它们的大小,如果它们是通过编程方式创建的(用户不必费心初始化代码、添加布局约束等,我将有一个简单的类方法初始值设定项)。如果用户在Interface Builder中设

是否有任何方法可以确定是从nib文件/情节提要加载
UIView
,还是从用户代码动态实例化?我正在创建一个自定义的
UIView
子类,这样我就可以完全访问实例方法

检查
initWithCoder:
是否是一个好主意,或者还有其他方法吗


对于任何想知道我为什么需要这种功能的人:我正在开发一个库,在这个库中,我想根据一些视图的内容智能地调整它们的大小,如果它们是通过编程方式创建的(用户不必费心初始化代码、添加布局约束等,我将有一个简单的类方法初始值设定项)。如果用户在Interface Builder中设计了它,他们显然希望看到他们设计的样子(我也在使用IBDesignable/IBInspectable属性,所以IB将被大量使用),所以我不会触及他们的设计。

避免了你所做的事的质疑性,而initWithCoder:可以在没有故事板的情况下使用,这不太可能,因此我认为实现UIView的子类没有问题,该子类有一个额外的readonly@property initializedWithCoder,用于确定是否应该调整视图。