Я создал подкласс NSTextField. Если я использую его по коду, проблем нет, все нормально, а компонент работает по назначению. Если я использую его через Interface Builder, компонент просто не будет отображаться.Подкласс NSTextField не отображается через Interface Builder
Вот мой inits для подкласса:
-(instancetype)initWithFrame:(NSRect)frameRect{
self = [super initWithFrame:frameRect];
if(self){
[self setAlignment:NSTextAlignmentCenter];
[self setBackgroundColor:[NSColor blueColor]];
[self setBezeled:NO];
[self setEditable:NO];
[self setSelectable:NO];
[self.cell setUsesSingleLineMode:YES];
}
return self;
}
-(instancetype)initWithCoder:(NSCoder *)coder{
self = [super initWithCoder:coder];
if(self){
NSLog(@"initWithCoder");
[self setAlignment:NSTextAlignmentCenter];
[self setBackgroundColor:[NSColor redColor]];
[self setBezeled:NO];
[self setEditable:NO];
[self setSelectable:NO];
[self.cell setUsesSingleLineMode:YES];
}
return self;
}
Например, если я создаю два компонента, один с помощью кода и один строитель интерфейс я могу видеть только первый компонент, с blueBackground.
Любые идеи? Thanks
Записывается ли «initWithCoder»? Как вы добавили текстовое поле в IB? Вы установили значение? – Willeke
Инициируется InitWithCoder. Я добавляю customView, я меняю класс в Инспекторе Identity, а затем добавляю ссылку для ссылки в свойство того же класса. Я, по крайней мере, вижу красную рамку. Но нет. Я ничего не вижу. – Talkanian
Добавьте «NSTextField» и измените класс. – Willeke