我正在使用 NSTextView 并为其-textStorage
属性设置了一个委托。收到后,-textStorageDidProcessEditing:
我需要将属性应用于部分文本。
我的属性正在被应用,但它们总是在我进行编辑之前应用于文本,即使我不是从-will...
but调用 NSLayoutManager 的方法did...
。
就好像布局管理器在执行时不知道最近的字形插入/删除,所以我假设 NSTextView/NSTextStorage 调用委托方法然后通知布局管理器进行更新。
有没有办法可以强制布局管理器立即更新,以便我可以让它工作?
我知道NSTextStorage
's-addAttribute:value:range:
方法并且到目前为止一直在成功使用这些方法,但是我已经达到了现在需要通过布局管理器执行此操作的地步,而不是作为重构/优化练习的一部分。