如何在mac mail中的"To/CC"字段中自定义NSTokenField?

Dev*_*shi 6 cocoa apple-mail nstokenfield nsscroller

我能够使用NSTokenField,它很容易使用..但我想知道如何自定义它就像它在mac邮件中的"To/CC"字段中那样.什么时候没有 令牌字段中的令牌增加"To"字段的高度增加到某个限制然后垂直卷轴开始出现!

默认情况下,当我们使用标记字段时,其高度不会增加,也不会出现垂直滚动条!我在IB中尝试了不同的组合,但我无法获得类似功能的mac邮件.

谁能建议我一些解决方案?

小智 4

您必须继承 NSTokenField 才能获得您想要的功能。请务必调用 setWraps: YES。

当令牌字段的内容发生更改时,您必须计算令牌字段所需的大小并自行调整其大小。与添加滚动条相同。令牌字段的高度达到一定大小后,您将在该字段中插入滚动视图。相反,当重新计算的令牌字段大小小于临界大小时,您将删除滚动视图。

(我发现)要使其正常工作,需要做大量的工作。苹果表示,NSTokenField“提供类似于邮件应用程序中的地址字段的标记化编辑”,但它实际上一点也不相似,因为它没有内置的大小调整功能,并且拖放对于除文本之外的任何内容都是有问题的。