objective-c - NSTokenField 指定的初始值设定项是什么?

标签 objective-c cocoa nstokenfield

我正在尝试对 NSTokenField 进行子类化,并且我需要在初始化期间设置一些 ivars,但我无法工作必须覆盖哪个初始化程序。该文档没有提及任何关于 token 字段继承的 NSTokenFieldNSTextField 的指定初始化程序。

我尝试覆盖 -initWithFrame:-init: 但它们也没有被调用。

最佳答案

如果您在代码中创建文本字段,则应为 initWithFrame:;如果在 XIB(界面生成器)文件中创建该字段,则应为 initWithCoder: .

这是因为NSTokenField继承自NSView,它符合NCoding协议(protocol)。因此这对于继承自 NSView 的其他对象也有效。

所以基本上,您应该在子类中重写两者:

- ( id )initWithFrame: ( NSRect )frame;
- ( id )initWithCoder: ( NSCoder * )decoder;

关于objective-c - NSTokenField 指定的初始值设定项是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12227242/

相关文章:

iphone - 在拒绝免责声明后以编程方式退出 iPhone 应用程序

iphone - 如何创建逻辑彩色图

cocoa - 在 CoreData 对象上保存观察者的干净方法?

Objective-C/ cocoa : Proper design for delegates and controllers

objective-c - 处理 NSTokenField 中的重复选择

objective-c - 如何使 NSControl(例如 NSTokenField)忽略鼠标事件

objective-c - NSTokenFieldCell 子类强制使用核心数据对多关系

ios - SceneKit 使用两个向量设置旋转

ios - 为菜单重用静态 UIViewController 代码的正确方法

macos - 当应用程序处于后台时, cocoa 计时器不会触发