Ios 在interface builder中使用现有自定义UIView
我创建了一个UIView子类,因为我需要一些定制的东西 然后,我在一个XIB上添加了UIView,并将的类从UIView更改为自定义类。当我运行时,它不会实例化自定义类Ios 在interface builder中使用现有自定义UIView,ios,objective-c,interface-builder,xib,Ios,Objective C,Interface Builder,Xib,我创建了一个UIView子类,因为我需要一些定制的东西 然后,我在一个XIB上添加了UIView,并将的类从UIView更改为自定义类。当我运行时,它不会实例化自定义类 我该怎么办?将使用哪个构造函数实例化自定义类?从XIB创建UIView时调用的方法是 - (id) initWithCoder:(NSCoder *)aCoder xib将使用 - (id)initWithCoder:(NSCoder *)decoder 如果您依赖于xib中的连接和其他对象可用,那么您也可以将代码添加到 -
我该怎么办?将使用哪个构造函数实例化自定义类?从XIB创建UIView时调用的方法是
- (id) initWithCoder:(NSCoder *)aCoder
xib
将使用
- (id)initWithCoder:(NSCoder *)decoder
如果您依赖于xib
中的连接和其他对象可用,那么您也可以将代码添加到
- (void)awakeFromNib
当对象。。。保证其所有插座和动作连接都已建立。
要处理代码重复,可以执行以下操作
- (instancetype)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
[self commonInit];
}
return self;
}
- (instancetype)initWithCoder:(NSCoder *)aDecoder
{
self = [super initWithCoder:aDecoder];
if (self) {
[self commonInit];
}
return self;
}
- (void)commonInit
{
// any common setup
}
没有自定义构造函数,如何检查未启动的构造函数?