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