如何在故事板中为 UIView 创建初始化方法?

How to create init methods for UIViews in storyboard?

我有一个 class PLButton 有两个属性:

@property (strong, nonatomic) UIColor *purpleColor;
@property (strong, nonatomic) UIColor *grayColor;

及其初始值设定项:

- (instancetype)init {
if (self = [super init]) {
    self.purpleColor = [UIColor colorWithRed:142.0/255.0 green:23.0/255.0 blue:126.0/255.0 alpha:1.0];
    self.grayColor = [UIColor colorWithRed:239.0/255.0 green:239.0/255.0 blue:239.0/255.0 alpha:1.0];
}
return self;

}

我还有一个 PLEventButton 作为 PLButton 的子class:

和内部初始化器:

- (instancetype)init {
if (self = [super init]) {
    return self;
}
return self;

}

我在情节提要中分配给 UIButton 的那些 classes。 为什么这些属性在 PLButton 和 PLEventButton 中根本不起作用(它们为零)?

故事板中的对象是通过initWithCoder 方法初始化的。 所以只要在里面调用你的初始化方法就可以了。

 - (id)initWithCoder:(NSCoder*)aDecoder 
{
    self = [super initWithCoder:aDecoder];
    if (self)
    {
        [self myInitialization];
    }

    return self;
}