首页 > 解决方案 > NSTextView 滚动

问题描述

如何制作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
    }
}

标签: swiftmacoscocoanstextview

解决方案


NSTextView不滚动,将文本视图放在NSScrollView. 的类方法在 ascrollableTextView()NSTextView返回NSTextViewa 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
}

推荐阅读