0

我正在从 中检索一个值NSFontPanel,该值会更改字体系列和文本样式。但我只想要我从中选择的字体样式和颜色NSFontPanel

我不知道如何得到它。

NSFont *font  =[fontmanager selectedFont];
     string =[font fontName];
     st = [font pointSize];
    color =[TextEntered textColor];
  1. 在字符串变量中,我得到字体系列(例如 Arial)和字体样式(例如粗体)。但我想要这些值分开。

  2. 在颜色变量中,我只得到黑色。

我无法理解我在获取颜色方面错在哪里,以及我用于获取字体样式的功能..

4

1 回答 1

0

要获得样式,您将使用[fontmanager traitsOfFont: font]. 至于颜色,我认为您希望将文本作为 anNSAttributedString然后获取属性的值NSForegroundColorAttributeName

编辑添加:假设您的 TextEntered 变量是 NSTextField*,请使用如下内容:

NSAttributedString* theText = [TextEntered attributedStringValue];
NSColor* theColor = (NSColor*)[theText attribute: NSForegroundColorAttributeName
    atIndex: 0 effectiveRange: NULL ];

对于删除线,使用NSStrikethroughStyleAttributeName和下划线使用NSUnderlineStyleAttributeName

于 2010-08-31T06:18:12.287 回答