Cocoa NSScrollView不滚动

Ale*_*dro 1 macos cocoa nsscrollview swift

我尝试创建一个scrollview.通过Xib创建了一个scrollview,以编程方式添加了scrolledView(一个包含scrollView中所有子视图的NSView).

以下代码显示了子视图,但scrollView未滚动.为什么?

class LevelScrollController: NSViewController {

@IBOutlet var scrollView: NSScrollView!

override func viewDidLoad() {
    super.viewDidLoad()

    let scrolledView = NSView(frame: NSRect(x: 0, y: 0, width: scrollView.frame.size.width, height: 300))

    // Inserisco pulsanti di esempio
    for i in 1 ... 10{
        scrolledView.addSubview(NSButton(frame: NSRect(x: 0, y: i*30, width: 100, height: 30)))
    }
    scrollView.addSubview(scrolledView)



}
Run Code Online (Sandbox Code Playgroud)

将代码放在viewDidLayout而不是viewDidLoad中不会更改结果:不滚动

Ale*_*dro 6

而不是将scrolledView添加到scrollView的子视图,而是将其设置为documentView.

替换scrollView.addSubview(scrolledView)scrollView.documentView = scrolledView