JPC*_*JPC 5 cocoa objective-c interface-builder nsmenu nsmenuitem
我无法弄清楚如何在我的NSMenu中设置我的NSMenuItems的字体/样式.我在NSMenu上尝试了setFont方法,但它似乎对菜单项没有任何影响.NSMenuItem似乎没有setFont方法.我希望他们都有相同的字体/样式,所以我希望只有一个属性可以设置在某个地方.
NSMenuItem支持将属性字符串作为标题:
- (void)setAttributedTitle:(NSAttributedString *)string;
Run Code Online (Sandbox Code Playgroud)
示例代码:
NSMenuItem *menuItem = [[NSMenuItem alloc] initWithTitle:@"Hi, how are you?" action:nil keyEquivalent:@""];
NSDictionary *attributes = @{
NSFontAttributeName: [NSFont fontWithName:@"Comic Sans MS" size:19.0],
NSForegroundColorAttributeName: [NSColor greenColor]
};
NSAttributedString *attributedTitle = [[NSAttributedString alloc] initWithString:[menuItem title] attributes:attributes];
[menuItem setAttributedTitle:attributedTitle];
Run Code Online (Sandbox Code Playgroud)
文档:https://developer.apple.com/library/mac/#documentation/cocoa/reference/applicationkit/classes/nsmenuitem_class/reference/reference.html
它们可以具有属性标题,因此您可以将属性字符串设置为标题及其所有属性,包括字体:
NSMutableAttributedString* str =[[NSMutableAttributedString alloc]initWithString: @"Title"];
[str setAttributes: @{ NSFontAttributeName : [NSFont fontWithName: @"myFont" size: 12.0] } range: NSMakeRange(0, [str length])];
[label setAttributedString: str];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3921 次 |
| 最近记录: |