我已经实现了一个 NSTokenField ,它使用一些自定义数据对象来显示动态数据。代表设置良好并显示令牌的正确值。
我还在标记上实现了一个菜单,允许选择用于显示每个标记的格式。但是,我的问题是我无法使 NSTokenField 立即响应这些更改并使用新选择的格式重新绘制令牌。
如果我在 NSTokenField 之外单击,它会退出第一响应者,它会立即重绘。我也可以通过将第一响应者显式设置为 nil 以编程方式执行此操作。唯一的问题是 NSTokenField 失去焦点 - 并在第一响应者选择字段中的所有内容时重新分配它,因此用户可能会意外覆盖整个内容。
所以我的问题是是否有任何方法可以触发 NSTokenField 重绘其内容而不改变焦点和选择?