如何剪切文本直到适合NSTextView?恰好适合。然后在此剪切文本的末尾添加...吗?
这是我的组成部分:
import PureLayout
class Card: NSCollectionViewItem {
let textView = NSTextView()
var card: (text: String)? {
didSet {
guard isViewLoaded else { return }
if let text = card?.text {
textView.string = text
} else {
textView.string = ""
}
}
}
func configureTextView() {
textView.font = NSFont(name: "SF Pro Display", size: 12)
textView.isEditable = false
textView.isFieldEditor = false
textView.autoPinEdge(toSuperviewEdge: .top, withInset: 10)
textView.autoPinEdge(toSuperviewEdge: .right, withInset: 10)
textView.autoPinEdge(toSuperviewEdge: .bottom, withInset: 10)
textView.autoPinEdge(toSuperviewEdge: .left, withInset: 10)
}
override func viewDidAppear() {
super.viewDidAppear()
view.layer?.borderWidth = 1
view.layer?.borderColor = .black
view.addSubview(textView)
configureTextView()
}
}
以下是输入文字的示例:
这是剪切后在NSTextView中的外观:
答案 0 :(得分:0)
您可以使用textView.textContainer!.lineBreakMode = .byTruncatingTail
。为此,您可能需要将NSTextView
的文本容器放入init(frame:textContainer:)
中。
https://developer.apple.com/documentation/uikit/nslinebreakmode