【问题标题】:How to set the default writing direction for NSTextView?如何设置 NSTextView 的默认书写方向?
【发布时间】:2015-06-14 21:08:34
【问题描述】:

我正在尝试设置一个文本视图,用户可以从右到左输入希伯来语文本。目前它默认为从左到右的文本方向,用户可以通过右键单击并选择“书写方向>从右到左”手动更改,但我需要的是文本视图始终默认为这个,没有需要用户手动设置。

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

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

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

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

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

【问题讨论】:

    标签: macos swift cocoa interface-builder nstextview


    【解决方案1】:

    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
    

    【讨论】:

    • 谢谢,肯!在 textView 上设置 baseWritingDirection 工作
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-27
    • 2012-01-13
    • 1970-01-01
    • 1970-01-01
    • 2011-12-31
    相关资源
    最近更新 更多