如何获取 NSTextView 中光标处的当前 font/font 大小?

How do I get the current font/font size at cursor in NSTextView?

澄清:首先,光标=插入点光标,不是鼠标光标。

好的,我想 return 光标在 NSTextView 中的任何位置的字体/字体大小/字体颜色。我尝试使用 attribute:atIndex:effectiveRange:,但我失败了,因为我把我的变量都搞混了。我认为这是我需要的。一些示例代码将不胜感激,returning 字体。我认为它对字体 size/color 的效果是一样的,我只需要把 NSFontAttributeName 换成别的东西,对吧?提前致谢!

你试过什么?

NSTextView 有一个方法 selectedRanges,其中 returns 当前选择 - 如果只有一个插入点,则只有一个零长度。

NSTextView 也有一个 属性 textStorage,它 returns 支持保存文本的 NSTextStorage 的实例。一个NSTextStorage继承自NSMutableAttributedString,它继承自NSAttributedString,并且具有获取文本属性的方法。

结合这两个,你就有了答案。

HTH

NSFont *font = [textView.textStorage attribute:NSFontAttributeName atIndex:textView.selectedRange.location effectiveRange:nil];

应该适用于所有获得名称的人。