Swift 通过编程方式或通过xcode将NSTextView设置为按字符换行?
网上有一些解决方案,但它们要么已经存在10年,不再有效,要么是用objective C编写的(而且也非常过时)。一个解决方案涉及AttributedText,并在每次内容更新时更改换行符样式,对我来说,每隔几分钟就会有数百次呼叫。这肯定不是最好的办法。我一定是遗漏了什么,一定有办法将NSTextView设置为永久按字符换行 我已经试过了,但它不起作用,继续用文字来概括:Swift 通过编程方式或通过xcode将NSTextView设置为按字符换行?,swift,xcode,macos,Swift,Xcode,Macos,网上有一些解决方案,但它们要么已经存在10年,不再有效,要么是用objective C编写的(而且也非常过时)。一个解决方案涉及AttributedText,并在每次内容更新时更改换行符样式,对我来说,每隔几分钟就会有数百次呼叫。这肯定不是最好的办法。我一定是遗漏了什么,一定有办法将NSTextView设置为永久按字符换行 我已经试过了,但它不起作用,继续用文字来概括: consoleTextView.textContainer?.lineBreakMode = NSLineBreakMode.
consoleTextView.textContainer?.lineBreakMode = NSLineBreakMode.byCharWrapping
我还尝试在xcode中使用属性检查器。我终于找到了它的选项,但单击它什么也不做,它只是在“换行”字段中继续显示“空选择”:
您应该在段落样式上设置换行模式。这是使其工作的最小可能示例:
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)
任何寻求客观c答案的人都会使用类似的方法:
NSMutableParagraphStyle * paragraphStyle = [[NSMutableParagraphStyle alloc] init];
paragraphStyle.lineBreakMode = NSLineBreakByCharWrapping;
myTextView.defaultParagraphStyle = paragraphStyle;
谢谢你,这让我快发疯了