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

时间:2015-06-14 21:08:34

标签: macos swift cocoa interface-builder nstextview

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

可以在Interface Builder中设置此选项,在构建和运行我的应用程序时,该选项始终被忽略。

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

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

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

有没有办法为NSTextView设置默认的书写方向?可以从故事板/界面构建器或代码中完成吗?如果setBaseWritingDirection是这个的方法,那么它的范围值是什么以及如何为最初为空的字段设置它?

1 个答案:

答案 0 :(得分:2)

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

hebrewTextView.baseWritingDirection = NSWritingDirection.RightToLeft

它还继承了makeBaseWritingDirectionRightToLeft()中的操作方法NSResponder,这可能是上下文菜单使用的方法。所以,你可以称之为。

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

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