3

Я пытаюсь указать количество строк для NSTextView. Мой дизайнер запрашивает 2 строки текста max. Я пробовал стиль NSMutableParagraph, чтобы добавить усечение эллипсов, которое я хочу, но с NSMutableParagraph я могу получить только NSTextView с 1 ​​строкой и без NSMutableParagraph, я получаю прокручиваемый текст с таким количеством строк, сколько необходимо для завершения текста.Как ограничить NSTextView до 2 строк?

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 в пределах и регулировки его высоты. Не повезло с получением двух линий и усечения. Любая помощь приветствуется. Я чувствую, что мне просто не хватает метода или настройки. Благодаря!

+0

Рассматривали ли вы использование текстового поля ** **? Вы можете установить свойство 'truncatesLastVisibleLine' ячейки текстового поля. Кроме того, вам нужно разрешить редактирование, но запретить пользователю вводить больше текста, чем будет вписываться в две строки? Для текста * view *, вы установили 'verticallyResizable' в false? Установили ли вы 'maxSize'? –

+0

@KenThomases, да, я рассмотрел текстовое поле. На самом деле у меня есть NSTextField для другого свойства. TextField отображает только одну строку. Для textView я попытался установить verticallyResizable в false и установить maxSize. – myData

+1

Вы можете создавать многострочные текстовые поля. –

ответ

1

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

0

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

yourTextViewObj.textContainer.maximumNumberOfLines = 2; 
0

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

Все.

Смежные вопросы