Я работаю с NSTextView, и для его свойства -textStorage
установлен делегат.После получения -textStorageDidProcessEditing:
мне нужно применить атрибуты к частям текста.
Мои атрибуты применяются, но они всегда применяются к тексту до Я сделал редактирование, дажехотя я вызываю методы NSLayoutManager не из -will...
, а из did...
.
Это как если бы менеджер компоновки не знал о недавней вставке / удалении глифа на данном этапе выполнения, поэтому я предполагаю NSTextView /NSTextStorage вызывает метод делегата , а затем уведомляет менеджер макета об обновлении.
Есть ли способ заставить диспетчер макета выполнить обновление с немедленным эффектом, чтобы я мог заставить его работать?
Мне известны методы -addAttribute:value:range:
NSTextStorage
, и я успешно использовал их до этого момента, но я достиг точки, когда мне нужно сделать это через макетменеджер вместо этого в рамках упражнения по рефакторингу / оптимизации.