8

我正在尝试指定 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)

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

4

4 回答 4

10

从 10.11 开始,您可以使用它

yourTextViewObj.textContainer.maximumNumberOfLines = 2;
于 2017-02-27T15:37:43.860 回答
8

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

于 2015-09-19T18:38:16.840 回答
1

对于 NSTextField (又名标签)你可以做 self.textField.maximumNumberOfLines = 2;

而已。

于 2018-01-02T03:00:18.863 回答
0

最大行数现在是 NSTextField 的属性

label.maximumNumberOfLines = 1;
于 2020-05-15T11:45:06.497 回答