获取NSTextView的当前字体

Jos*_*hua 0 cocoa objective-c

我如何获得NSTextView的当前字体?

Rob*_*ger 9

彼得的答案是正确的,但不是整个故事.调用-fontNSTextView返回的第一个字符的字体文本视图的字符串,或者如果文本视图是空的,将在插入点返回字体.

但是,如果文本视图配置为接受富文本,则文本视图可以包含多种不同的字体.

在这种情况下,您需要从文本视图NSTextStorage对象中的特定位置获取字体,该对象是其子类NSAttributedString.您可以NSTextStorage通过调用-textStorage文本视图来获取对象.

您可以NSTextStorage使用属性参数的-attribute:atIndex:effectiveRange:方法NSAttributedString和传入来NSFontAttributeName获取对象中特定位置的字体.