代码之家  ›  专栏  ›  技术社区  ›  d11wtq Vadim Baryshev

Cocoa:NSTextStorageDelegate的NSLayoutManager已过期?

  •  1
  • d11wtq Vadim Baryshev  · 技术社区  · 15 年前

    -textStorage 财产。在收到 -textStorageDidProcessEditing: 我需要将属性应用于部分文本。

    我的属性正在应用,但它们始终应用于文本 我进行了编辑,尽管我调用的NSLayoutManager方法不是来自 -will... did... .

    就好像布局管理器不知道最近在执行时的glyph插入/删除,所以我假设NSTextView/NSTextStorage调用delegate方法 然后

    有没有办法可以强制布局管理器立即更新,以便我可以让它工作?

    我知道 NSTextStorage -addAttribute:value:range:

    1 回复  |  直到 15 年前
        1
  •  1
  •   d11wtq Vadim Baryshev    15 年前

    我找到了解决这个问题的办法。如果您注册为两个NSTextStorage的代理 -textStorageDidProcessEditing: 和NSLayoutManager的 -didInvalidateLayout:

    推荐文章