gpt4 book ai didi

cocoa - 在 NStextField 中绘图

转载 作者:行者123 更新时间:2023-12-03 17:29:51 25 4
gpt4 key购买 nike

如果您想在 NSTextField 中实现特定子字符串的突出显示,如屏幕截图 (Tweetie.app) 所示,您会怎么做? :) Tweetie Link Highlighting http://qkpic.com/88c61

感谢您的帮助!

最佳答案

对于 NSTextField,请注意它是执行绘图的 NSTextFieldCell。您需要重写 -drawInteriorWithFrame:inView: 并自己绘制字符串。挑战将是找到在其中绘制子字符串的矩形(如果范围被包裹,则不止一个)。您最终将不得不使用 NSLayoutManager 和 NSTextStorage 容器。

最好使用 NSTextView。相关的 NSLayoutManager 和 NSTextStorage 组件已经预先组装好,您可以免费获得许多其他功能。最重要的是,有一个方便的 -[NSTextView drawViewBackgroundInRect:] 方法,因此您不必对任何内容进行子类化。您只需向 TextView 询问其布局管理器和文本存储,然后向其询问给定范围的矩形。请参阅Text System Overview以及链接文档以获取更多详细信息。

为了有效地找到感兴趣的子字符串,您可以使用 custom attributes (或内置的,如 NSLinkAttributeName)您感兴趣的范围。

关于cocoa - 在 NStextField 中绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1777444/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com