Как я могу ограничить NSTextView до 2 строк?

Я пытаюсь указать количество строк для NSTextView. Мой дизайнер запрашивает 2 строки текста макс. Я пробовал стиль NSMutableParagraph, чтобы добавить желаемое усечение эллипсов, но с NSMutableParagraph я могу получить только 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)

Я попытался создать IBOutlet для NSScrollView, в котором находится NSTextView, и отрегулировать его высоту. Не повезло с получением как 2 строки, так и усечения. Любая помощь с благодарностью. Я чувствую, что мне просто не хватает метода или настройки. Спасибо!

3 ответа

Решение

Вы можете использовать NSTextField настроен как многострочная метка. Это означает, что установка его cell"s wraps свойство true и, при желании, его truncatesLastVisibleLine к истине.

С 10.11 вы можете использовать это

yourTextViewObj.textContainer.maximumNumberOfLines = 2;

Для NSTextField (он же метка) Вы можете просто сделать self.textField.maximumNumberOfLines = 2;

Вот и все.

Максимальное количество строк теперь является свойством NSTextField

label.maximumNumberOfLines = 1;
Другие вопросы по тегам