swift - 以编程方式或通过 xcode 将 NSTextView 设置为按字符换行?

标签 swift xcode macos

在线有几个解决方案,但它们要么已有 10 年历史,不再有效,要么是用 objective-c 编写的(而且也非常过时)。一种解决方案涉及 AttributedText 并在每次更新内容时更改换行符样式,对我来说,这将是每隔几分钟调用数百次。当然这不是最好的方法。我一定在这里遗漏了一些东西,必须有一种方法可以将 NSTextView 设置为由 char 永久换行。

我已经试过了,但它不起作用,并且继续按单词换行:

consoleTextView.textContainer?.lineBreakMode = NSLineBreakMode.byCharWrapping

我也尝试过在 xcode 中使用属性检查器。我终于找到了它的选项,但点击它什么也没做,它只是继续在“换行”字段中说“空选择”:

enter image description here

最佳答案

您应该在段落样式上设置换行模式。这是使其工作的最小示例:

let textView = NSTextView(frame: CGRect(x: 0, y: 0, width: 100, height: 200))

let paragraphStyle = NSMutableParagraphStyle.default.mutableCopy() as! NSMutableParagraphStyle
paragraphStyle.lineBreakMode = .byCharWrapping

textView.defaultParagraphStyle = paragraphStyle
textView.string = "12345 12345 12345"

view.addSubview(textView)

关于swift - 以编程方式或通过 xcode 将 NSTextView 设置为按字符换行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56984544/

相关文章:

macos - 使用 NSXPCListener 执行常规任务的帮助程序应用

macos - 从存储库中删除奇怪的 'Iconr' 文件

ios - WKWebView 添加为 Subview 不会在 Swift 中旋转时调整大小

swift - 不移动鼠标后将其隐藏在 Mac 应用程序中

ios - XCode 6.3 Beta 将 iOS 8.3b 设备显示为 "ineligible"

ios - 为什么找不到静态库的头文件进行归档?

ios - 多个开发者帐户上的多个 Apple Pay 商家 ID

c++ - 为什么 -mmacosx-version-min=10.10 不阻止使用标记为从 10.11 开始的函数?

ios - 使用 Apple 示例代码的 Swift WKWebView 问题

ios - NSExtension 激活规则不起作用