C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了objective-c – 与Numbers中的令牌文本字段大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想有一个文本字段,如numbers中的表达式编辑器文本字段:

它与NSTokenField非常相似,但NSTokenField仅支持分隔符分隔的标记列表,如Mail.app中的“To:”字段.

我必须将这些令牌嵌入到特定位置的文本中,但是否则它们的工作方式与NSTokenField完全相同(退格会删除令牌,您可以将它们拖动等等).

有没有第一方或第三方控制做这样的事情?我没找到任何东西.

如果没有,你会如何推荐实施它?使用COre Text并重新发明轮子(使用更好的令牌支持实现NSTextField)?或者有更好的解决方案吗?

解决方法

我认为NSTokenField没有替代控件(好吧,几周之前我找不到一个).

一个可能的选择可能是遵循Apple的示例项目LayoutManagerDemo中提供的解决方案.这显示了NSTextView的子类,能够检测文本上的鼠标移动.安装并运行演示以获得基本想法.

该示例使用NSLayoutManager来检测鼠标移动,但代码可能适用于检测文本中的特定字符序列,如文本字段中的标记.从NSLOCATIOnManager获得令牌及其位置后,您可以根据令牌的特征插入自己的表示.一种可能的解决方案是使用NSTextAttachmentCell,它将成为文本中的字形.使用NSTextAttachmentCell的好处是它被Cocoa的文本系统视为一个字形(您可以选择它,它遵循格式化等).通过实现drawWithFrame:inView:您可以添加每个标记的各种可见属性.

大佬总结

以上是大佬教程为你收集整理的objective-c – 与Numbers中的令牌文本字段全部内容,希望文章能够帮你解决objective-c – 与Numbers中的令牌文本字段所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。