有的时候需要设置NSTextField的行间距,但是NSTextField没有提供设置行间距的函数。只能通过attributed string来设置。调用setAttributedStringValue后,(可能)会将之前设置的NSTextField的属性都清空。所以需要先调用setAttributedStringValue设置字符串,然后再设置的NSTextField属性。如:
NSTextField *_movieInfo = [[NSTextField alloc] initWithFrame:frame];
NSMutableParagraphStyle *textParagraph = [[[NSMutableParagraphStyle alloc] init] autorelease];
[textParagraph setLineSpacing:5.0];
NSDictionary *attrDic = [NSDictionary dictionaryWithObjectsAndKeys:textParagraph,NSParagraphStyleAttributeName, nil];
NSAttributedString *attrString = [[NSAttributedString alloc] initWithString:@"" attributes:attrDic];
// 这个需要在设置属性之前设置
[_movieInfo setAttributedStringValue:attrString];
[_movieInfo setEditable: NO];
[_movieInfo setDrawsBackground:NO];
[_movieInfo setBordered:NO];
[_movieInfo setFont: [NSFont labelFontOfSize:14.0]];
[_movieInfo setBackgroundColor:[NSColor redColor]];
[[_movieInfo cell] setLineBreakMode:NSLineBreakByCharWrapping];
[[_movieInfo cell] setTruncatesLastVisibleLine:YES];