gpt4 book ai didi

cocoa - 在 NSTextView 中替换 NSTextStorage 的正确方法?

转载 作者:行者123 更新时间:2023-12-03 16:04:05 24 4
gpt4 key购买 nike

我正在制作一些文本查看器应用程序。目前我需要非常频繁和精确的行处理能力,所以我想子类化 NSTextStorage 类。但我找不到任何方法将新的文本存储设置为 NSTextView。我能找到的唯一方法是

-[NSLayoutManager replaceTextStorage:]

方法。但这是否是我正在寻找的东西令人困惑。因为它似乎只是替换链接的 NSLayoutManagers 的文本存储而不是 NSTextView。

我还考虑过对 NSTextView 进行子类化并重写 -textStorage 方法,但如果该类不是为子类化而设计的,则会产生未定义的结果。

有人尝试过在 NSTextView 上使用自定义 NSTextStorage 吗?我怎样才能做到这一点?或者这是设计所禁止的?

最佳答案

您可以执行以下操作来更改 NSTextView 的存储:

NSTextStorage *newStorage = [[NSTextStorage alloc] initWithString: @"test"];

[aTextView.layoutManager replaceTextStorage: newStorage];

由于 NSTextStorage 是 NSMutableAttributedString 的子类,因此您可以使用所有相同的方法来操作它。

关于cocoa - 在 NSTextView 中替换 NSTextStorage 的正确方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15527305/

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