2

我正在尝试子类NSTokenField化,我需要在初始化期间设置一些 ivars,但我无法工作我必须覆盖哪个初始化程序。文档没有说明令牌字段的指定初始化程序NSTokenFieldNSTextField继承自哪个初始化程序。

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

4

1 回答 1

2

initWithFrame:如果您在代码中创建文本字段,或者initWithCoder:该字段是在 XIB(Interface Builder)文件中创建的,则它应该是。

这是因为NSTokenField继承自NSView,它符合NCoding协议。所以这对于其他继承自NSView.

所以基本上,你应该在子类中覆盖两者:

- ( id )initWithFrame: ( NSRect )frame;
- ( id )initWithCoder: ( NSCoder * )decoder;
于 2012-09-01T14:53:28.067 回答