设置NSTextField行间距

        有的时候需要设置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];

你可能感兴趣的:(String,attributes)