如何从字体面板(NSFontPanel)和颜色中仅检索字体样式(粗体,斜体,粗斜体)?
我正在从 NSFontPanel
检索一个值,它会更改字体系列和文本样式。但我只想要从 NSFontPanel
中分别选择的字体样式和颜色。
我不知道如何得到它。
NSFont *font =[fontmanager selectedFont];
string =[font fontName];
st = [font pointSize];
color =[TextEntered textColor];
在字符串变量中,我得到字体系列(例如Arial)和字体样式(例如Bold)。但我想要这些值分开。
在颜色变量中我只得到黑色。
我无法理解我在获取颜色时出错的地方,以及我使用什么函数来获取字体样式。
I am retrieving a value from NSFontPanel
, which changes the font family, style of text. But I want only Font Style and color separately that I have selected from NSFontPanel
.
I am not getting how to get that.
NSFont *font =[fontmanager selectedFont];
string =[font fontName];
st = [font pointSize];
color =[TextEntered textColor];
In string variable I am getting Font family(e.g.Arial) and Font style(e.g. Bold). but I want these values separately.
And in color variable I only get black color.
I am not able to understand where I am wrong in getting color,and what function I used for getting font style..
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
要获取样式,您可以使用
[fontmanager TraitsOfFont: font]
。至于颜色,我认为您想要获取NSAttributedString
形式的文本,然后获取属性NSForegroundColorAttributeName
的值。编辑添加:假设您的 TextEntered 变量是 NSTextField*,请使用如下内容:
对于删除线,使用
NSStrikethroughStyleAttributeName
,对于下划线,使用NSUnderlineStyleAttributeName
。To get the style, you would use
[fontmanager traitsOfFont: font]
. As for the color, I think you want to get the text as anNSAttributedString
and then get the value for the attributeNSForegroundColorAttributeName
.Edit to add: Assuming that your TextEntered variable is NSTextField*, use something like this:
For strikethrough, use
NSStrikethroughStyleAttributeName
and for underline useNSUnderlineStyleAttributeName
.