如何设置NSTextView的默认书写方向?

How to set the default writing direction for NSTextView?

我正在尝试设置一个文本视图,用户可以从右到左输入希伯来语文本。目前它默认为从左到右的文本方向,用户可以通过右键单击并选择 "Writing Direction > Right to Left" 来手动更改,但我需要的是文本视图始终默认为此,而不需要用户手动设置。

在 Interface Builder 中有一个设置选项,当我构建和 运行 我的应用程序时总是忽略它。

我可以通过代码设置它,但我不知道如何使用看起来最接近我需要的方法:

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

这个范围让我很困惑。如果需要一个范围,这可以是我需要的方法吗?字段的默认行为不会独立于任何文本范围吗?

有没有办法设置 NSTextView 的默认书写方向?这可以从 storyboard/interface 构建器或代码中完成吗?如果 setBaseWritingDirection 是此方法,那么范围值是多少?我如何为最初为空的字段设置它?

NSTextView 继承自 NSTextNSText 有一个 baseWritingDirection 属性。尝试设置:

hebrewTextView.baseWritingDirection = NSWritingDirection.RightToLeft

它还继承了 NSResponder 的操作方法 makeBaseWritingDirectionRightToLeft(),这大概是上下文菜单使用的方法。所以,你可以这样称呼。

如果这些都不起作用,您可以将文本视图的 defaultParagraphStyle 设置为 baseWritingDirection 从右到左的视图:

var style = hebrewTextView.defaultParagraphStyle.mutableCopy() as! NSMutableParagraphStyle
style.baseWritingDirection = NSWritingDirection.RightToLeft
hebrewTextView.defaultParagraphStyle = style