objective-c – NSTextField添加行间距

objective-c – NSTextField添加行间距,第1张

概述我使用NSTextField而不是NSTextView来接收用户输入,但我需要自定义字体和textColor以及行间距.我使用下面的代码,它适用于字体和颜色,但我不知道如何设置行间距. [self.titleField setTextColor:textColor];[self.titleField setFont:bold14]; 我还使用NSAttributedString来解决问题: NS 我使用NSTextFIEld而不是NSTextVIEw来接收用户输入,但我需要自定义字体和textcolor以及行间距.我使用下面的代码,它适用于字体和颜色,但我不知道如何设置行间距.

[self.TitleFIEld setTextcolor:textcolor];[self.TitleFIEld setFont:bold14];

我还使用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];

上面的代码可以显示一个属性字符串,但是当我删除文本字段中的字符串并开始输入时,单词没有任何属性.

如何在NSTextFIEld中输入自定义字体,颜色和行间距的字符串?

解决方法 最好使用NSTextFIEld的属性设置方法而不是NSAttributedString,因为它可以将设置发送到字段编辑器.每个文本字段都有一个NSTextVIEw(大部分时间)“ Field Editor”;并且字段编辑器正在进行编辑.

你的NSAttributedString没有坚持,因为你只是告诉文本字段暂时显示那个字符串.d出字段编辑器时,文本字段(单元格)会传递自己的属性,如textFIEld.Font和textFIEld.textcolor,但不会传递NSAttributedString的属性.

最好使用NSTextVIEw来使用-setDefaultParagraphStyle,因为你正在编辑多条线,从我看到的.如果你不能,因为性能问题或其他原因,那么:

子类NSTextFIEldCell,因为这是所有NSTextFIEld工作和覆盖的内容

- (NSText *)setUpFIEldEditorAttributes:(NSText *)textObj

(在NSCell中声明)以您希望的方式为您的字段编辑器设置属性,因此您可以通过-setDefaultParagraphStyle(和字体等)自己发送行高度值. (textObj是要设置的字段编辑器).

总结

以上是内存溢出为你收集整理的objective-c – NSTextField添加行间距全部内容,希望文章能够帮你解决objective-c – NSTextField添加行间距所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1001216.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存