此代码不会绘制白色文本,为什么?
NSMutableParagraphStyle* style = [[NSMutableParagraphStyle alloc] init];
[style setAlignment:NSCenterTextAlignment];
NSFont *font = [NSFont fontWithName:@"System" size:13];
NSDictionary *attrs = [NSDictionary dictionaryWithObjectsAndKeys:style, NSParagraphStyleAttributeName, font, NSFontAttributeName, [NSColor whiteColor], NSForegroundColorAttributeName, nil];
[button.title drawInRect:textRect withAttributes:attrs];
答案 0 :(得分:3)
(假设[cocoa]标签不代表可可触摸)
这是因为NSButton可能会覆盖你在再次调用-drawRect:
时绘制文本的选择。您可以将您在该字典中给出的属性应用于NSAttributedString并调用setAttributedTitle:
以保持您的风格选择。
如果您需要对文本呈现进行更细粒度的控制,请编辑并将逻辑移动到-drawRect:
(如果它尚不存在),或者根据需要提供NSTextField或NSTextView。
您提供的代码的主要问题是@“System”不是字体名称。