Slo*_*ree 5 cocoa objective-c nstextfield nstextfieldcell
我正在努力解决一个非常简单的问题,我有几个NSTextField(我现在不能使用NSTextView),我需要更改显示文本的行间距.我该怎么做才能减少行高或行间距?缩小字体大小不是一种选择.
任何帮助将非常感激!
周末愉快,
!)
作为参考,您想阅读段落样式的描述:Cocoa Paragraph Styles并注意其中的所有内容都在行之间、段落之间、段落前等添加了额外的空间。您可以将 NSMutableParagraphStyle 中的值设置为零但不能更低。
要进一步缩小行间距,请使用 setMaximumLineHeight,感谢代码中的“6 1”(我添加了 setMaximumLineHeight):
NSString *title = @"title here";
NSFont *bold14 = [NSFont boldSystemFontOfSize:14.0];
NSColor *textColor = [NSColor redColor];
NSMutableParagraphStyle *textParagraph = [[NSMutableParagraphStyle alloc] init];
[textParagraph setLineSpacing:10.0]; // this sets the space BETWEEN lines to 10points
[textParagraph setMaximumLineHeight:12.0]; this sets the MAXIMUM height of the lines to 12points
NSDictionary *attrDic = [NSDictionary dictionaryWithObjectsAndKeys:bold14, NSFontAttributeName, textColor, NSForegroundColorAttributeName, textParagraph, NSParagraphStyleAttributeName, nil];
NSAttributedString *attrString = [[NSAttributedString alloc] initWithString:title attributes:attrDic];
[self.titleField setAllowsEditingTextAttributes:YES];
[self.titleField setAttributedStringValue:attrString];
Run Code Online (Sandbox Code Playgroud)
您可以使用 NSAttributedString 来显示文本。
NSFont *bold14 = [NSFont boldSystemFontOfSize:14.0];
NSColor *textColor = [NSColor redColor];
NSMutableParagraphStyle *textParagraph = [[NSMutableParagraphStyle alloc] init];
[textParagraph setLineSpacing:10.0];
NSDictionary *attrDic = [NSDictionary dictionaryWithObjectsAndKeys:bold14, NSFontAttributeName, textColor, NSForegroundColorAttributeName, textParagraph, NSParagraphStyleAttributeName, nil];
NSAttributedString *attrString = [[NSAttributedString alloc] initWithString:title attributes:attrDic];
[self.titleField setAllowsEditingTextAttributes:YES];
[self.titleField setAttributedStringValue:attrString];
Run Code Online (Sandbox Code Playgroud)
显示文本而不是输入文本是可以的。而且我只知道如何设置行距。
| 归档时间: |
|
| 查看次数: |
4306 次 |
| 最近记录: |