如何将 NSTextView 限制为 2 行?

How do I limit NSTextView to 2 lines?

我正在尝试指定 NSTextView 的行数。我的设计师要求最多 2 行文本。我已经尝试使用 NSMutableParagraph 样式来添加我想要的省略号截断,但是使用 NSMutableParagraph 我只能得到 1 行的 NSTextView 而没有 NSMutableParagraph,我得到一个滚动文本,其中包含完成文本所需的行数。

var attributedString = NSMutableAttributedString(string: "This is my text, I can keep going for many characters")
var para = NSMutableParagraphStyle()
para.lineBreakMode = NSLineBreakMode.ByTruncatingTail
let globalAttributes = [
  NSParagraphStyleAttributeName: para
]
let range = NSRange(location:0, length: attributedString.length)
attributedString.addAttributes(globalAttributes, range: range)
cellView.myTextView!.textStorage?.setAttributedString(attributedString)

我试过对 NSTextView 进行高度限制。我试过:

cellView.myTextView!.textContainer?.containerSize = NSMakeSize(300, 32)

我已经尝试为 NSScrollView 创建 IBOutlet,NSTextView 在其中并调整它的高度。获得 2 行和截断都没有运气。任何帮助是极大的赞赏。我觉得我只是缺少一种方法或设置。谢谢!

您可以使用配置为多行标签的 NSTextField。这意味着将其 cellwraps 属性 设置为 true,如果需要,将其 truncatesLastVisibleLine 设置为 true。

从 10.11 开始你可以使用这个

yourTextViewObj.textContainer.maximumNumberOfLines = 2;

对于 NSTextField(又名标签),您只需执行 self.textField.maximumNumberOfLines = 2;

就是这样。

最大行数现在是 属性 的 NSTextField

label.maximumNumberOfLines = 1;