Как установить направление записи по умолчанию для NSTextView?

Я пытаюсь настроить текстовое представление, в которое пользователь может вводить текст на иврите справа налево. В настоящее время по умолчанию используется направление текста слева направо, которое пользователь может изменить вручную, щелкнув правой кнопкой мыши и выбрав «Направление письма> Справа налево», но мне нужно, чтобы текстовое представление всегда использовалось по умолчанию, без требуя, чтобы пользователь установил его вручную.

Есть возможность установить это в Интерфейсном Разработчике, который всегда игнорируется, когда я создаю и запускаю свое приложение.

Я бы хорошо установил его из кода, но я не могу понять, как использовать метод, который выглядит наиболее близким к тому, что мне нужно:

hebrewTextView.setBaseWritingDirection(NSWritingDirection.RightToLeft, range: <#NSRange#>)

Ассортимент меня смущает. Если требуется диапазон, может ли это быть тот метод, который мне нужен? Разве поведение поля по умолчанию не будет зависеть от любого диапазона текста?

Есть ли способ установить направление записи по умолчанию для NSTextView? Можно ли это сделать из конструктора раскадровки/интерфейса или из кода? Если для этого используется метод setBaseWritingDirection, для чего нужно значение диапазона и как его установить для изначально пустого поля?


person Subcreation    schedule 14.06.2015    source источник


Ответы (1)


NSTextView наследуется от NSText. NSText имеет свойство baseWritingDirection. Попробуйте установить это:

hebrewTextView.baseWritingDirection = NSWritingDirection.RightToLeft

Он также наследует метод действия makeBaseWritingDirectionRightToLeft() от NSResponder, который предположительно использует контекстное меню. Итак, вы могли бы назвать это.

Если ни один из этих способов не работает, вы можете установить defaultParagraphStyle текстового представления на тот, у которого baseWritingDirection расположен справа налево:

var style = hebrewTextView.defaultParagraphStyle.mutableCopy() as! NSMutableParagraphStyle
style.baseWritingDirection = NSWritingDirection.RightToLeft
hebrewTextView.defaultParagraphStyle = style
person Ken Thomases    schedule 14.06.2015
comment
Спасибо, Кен! установка baseWritingDirection на textView работала - person Subcreation; 15.06.2015