NSTextView Scrolling - PullRequest
       24

NSTextView Scrolling

0 голосов
/ 17 октября 2019

Как сделать прокрутку NSTextView?

Проблема:

  • Отображение текста отображается, но не прокручивается. Мне нужно изменить размер окна, чтобы увидеть больше содержимого

Вопрос:

  • Как сделать прокрутку текстового представления.

Код:

class ViewController: NSViewController {

    private let textView                = NSTextView()

    //MARK: Manage Views

    override func viewDidLoad() {
        super.viewDidLoad()

        setupTextView()
    }


    private func setupTextView() {

        textView.isEditable      = false

        view.addSubview(textView)

        textView.translatesAutoresizingMaskIntoConstraints = false

        textView.leadingAnchor.constraint(equalTo: view.leadingAnchor).isActive = true
        textView.trailingAnchor.constraint(equalTo: view.trailingAnchor).isActive = true
        textView.topAnchor.constraint(equalTo: view.topAnchor).isActive = true
        textView.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true
    }
}

1 Ответ

1 голос
/ 18 октября 2019

NSTextView не прокручивается, поместите текстовое представление внутри NSScrollView. Метод класса scrollableTextView() из NSTextView возвращает NSTextView в NSScrollView.

private var textView:NSTextView?

private func setupTextView() {

    let scrollView = NSTextView.scrollableTextView()
    textView = scrollView.documentView as? NSTextView

    textView?.isEditable      = false

    view.addSubview(scrollView)

    scrollView.translatesAutoresizingMaskIntoConstraints = false

    scrollView.leadingAnchor.constraint(equalTo: view.leadingAnchor).isActive = true
    scrollView.trailingAnchor.constraint(equalTo: view.trailingAnchor).isActive = true
    scrollView.topAnchor.constraint(equalTo: view.topAnchor).isActive = true
    scrollView.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true
}
...