gpt4 book ai didi

objective-c - NSTextField 子类不会通过 Interface Builder 显示

转载 作者:行者123 更新时间:2023-12-03 17:48:19 24 4
gpt4 key购买 nike

我创建了 NSTextField 的子类。如果我通过代码使用它,就没有问题,一切都很好,并且组件按预期工作。如果我通过 Interface Builder 使用它,该组件将不会显示。

这是我的子类初始化:

-(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;


}

例如,如果我创建两个组件,一个由代码创建,一个由界面构建器创建,我只能看到第一个组件,带有蓝色背景。

有什么想法吗?谢谢

最佳答案

在 IB 中添加 Appkit 类的子类时,添加最近的父类(super class)并在 Identity Inspector 中更改该类。因此,如果您创建了 NSTextField 的子类,请添加 NSTextField 并更改该类。

关于objective-c - NSTextField 子类不会通过 Interface Builder 显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40378460/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com