我试图将一个带属性的字符串放入一个NSTextField中,这个NSTextField本身位于NSAlert中。以下是我的代码:
NSTextField *label1 = [[NSTextField alloc]initWithFrame:NSMakeRect(0, 23, 50, 20)];
[label1 setEditable:FALSE];
[label1 setAllowsEditingTextAttributes:TRUE];
[label1 setBezeled:FALSE];
label1.backgroundColor = [NSColor clearColor];
NSString *login = @"Username";
NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc] initWithString:login];
NSString *boldFontName = [[NSFont boldSystemFontOfSize:12] fontName];
[attrString beginEditing];
NSRange ran = NSMakeRange(0, 8);
[attrString addAttribute:NSFontAttributeName
value:boldFontName
range:ran];
[attrString endEditing];
NSLog(@"%@",attrString);
[label1 setAttributedStringValue:attrString];
[alert setAccessoryView:label1];
[alert runModal];
然而,一旦调用[alert runModal],我的应用程序就会崩溃。
"[__NSCFConstantString pointSize]: unrecognized selector sent to instance 0x7fff74035bb0"
我不确定为什么会发生这种情况。似乎与字符串有关,因为只要我删除[alert setAccessoryView:label1]或给label1一个标准的NSString,它就正常工作了。请帮忙!