如何剪切长文本,直到它适合NSTextView并在剪切文本的末尾添加...?

问题描述 投票:2回答:1

如何剪切文本直到它适合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()
    }
}

以下是输入文本的示例:

enter image description here

以下是NSTextView剪切后的样子:

enter image description here

swift macos nstextview
1个回答
0
投票

你可以使用textView.textContainer!.lineBreakMode = .byTruncatingTail。您可能必须将NSTextView文本容器放入init(frame:textContainer:)中。

https://developer.apple.com/documentation/uikit/nslinebreakmode

© www.soinside.com 2019 - 2024. All rights reserved.