我正在制作一些文字查看器应用程序。目前我需要非常频繁和精确的线路处理能力,所以我想要继承NSTextStorage
类。但我找不到任何方法来设置新的文本存储到NSTextView
。我能找到的唯一方法是
-[NSLayoutManager replaceTextStorage:]
方法。但令人困惑的是,这是我正在寻找的。因为它似乎只是替换了链接的NSLayoutManagers的文本存储而不是NSTextView。
我还考虑过继承NSTextView并重写-textStorage
方法,但是如果该类不是为子类设计的,那么它将产生未定义的结果。
有人试图在NSTextView上使用自定义NSTextStorage吗?我怎样才能做到这一点?或者这是否被设计禁止?
答案 0 :(得分:11)
您可以执行以下操作来更改NSTextView的存储空间:
NSTextStorage *newStorage = [[NSTextStorage alloc] initWithString: @"test"];
[aTextView.layoutManager replaceTextStorage: newStorage];
由于NSTextStorage是NSMutableAttributedString的子类,因此您可以使用所有相同的方法对其进行操作。