2015-01-27 2 views
0

У меня есть класс PLButton с двумя свойствами:Как создать методы init для UIViews в раскадровке?

@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:

и инициализатор внутри:

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

}

Эти классы Поручаю в раскадровке к UIButtons. Почему эти свойства не работают вообще: PLButton и PLEventButton (они ноль)?

ответ

2

Объект в раскадровке является init методом initWithCoder. Так что просто вызовите свой метод инициализации внутри.

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

    return self; 
} 
Смежные вопросы