2

我创建了一个 UIView 子类,因为我需要一些自定义的东西。

然后,我在我的一个 xib 上添加了一个 UIView,并将类从 UIView 更改为我的自定义类。当我运行时,它不会实例化自定义类。

我需要做什么?将使用什么构造函数来实例化自定义类?

4

2 回答 2

2

xib被实例化

- (id)initWithCoder:(NSCoder *)decoder

如果您依赖于xib可用的连接和其他对象,那么您还可以将代码添加到

- (void)awakeFromNib

这是当对象... is guaranteed to have all its outlet and action connections already established.


要处理代码重复,您可以执行以下操作

- (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
}
于 2013-04-15T10:16:48.883 回答
0

从 XIB 创建 UIView 时调用的方法是

- (id) initWithCoder:(NSCoder *)aCoder
于 2013-04-15T10:15:36.800 回答