Если вам нужна пользовательская инициализация внутри CustomButton, используйте это:
- (id)initWithCoder:(NSCoder *)decoder {
if (self = [super initWithCoder:decoder]) {
/* do initialization here */
}
return self;
}
Это не будет вызываться, если вы создаете экземпляр кнопки непосредственно в коде, только при создании экземпляра в загрузчике пера.Использование кода означает, что вам нужно использовать initWithFrame
, поэтому переопределите его.На самом деле вы можете захотеть, чтобы initWithCoder и initWithFrame вызывали один и тот же метод initAlways или что-то в этом роде.
Кроме того, важно знать концепцию Objective-C "назначенного инициализатора" (ищите его в целевых документах C)может немного сбивать с толку людей, привыкших к другим языкам OO.