我有一个自定义的 NSTextView
实现,可以自动调整字体大小,以便文本填充整个 View 。
我重写了 didChangeText
来调用我的字体大小调整方法。当用户编辑文本时效果很好,但是当通过绑定(bind)设置 TextView 内容时,不会调用 didChangeText
(和委托(delegate)方法 textDidChange:
)。
每当设置/更改文本时,字体调整代码都需要运行,而不仅仅是当用户更改文本时。
如何检测 NSTextView
中文本的所有更改,甚至通过绑定(bind)?
注意:如果除了增加字体大小之外还有更好的方法让文本填充整个 TextView ,请告诉我。
最佳答案
最好将字体属性设置到绑定(bind)到 TextView 的“attributedString”的NSAttributedString
中。在 textDidChange:
委托(delegate)方法中,您只需使用正确的字体属性重新创建 NSAttributedString
即可。
关于cocoa - NSTextView textDidChange/didChangeText 未调用绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13875915/