简体   繁体   English

可可 NSScrollView 不滚动

[英]Cocoa NSScrollView not scrolling

I try to create a scrollview.我尝试创建一个滚动视图。 Created a scrollview via Xib, programmatically added scrolledView (a NSView that contains all subview in scrollView).通过 Xib 创建了一个滚动视图,以编程方式添加了 scrolledView(一个包含 scrollView 中所有子视图的 NSView)。

The following code shows the subviews but the scrollView not scroll.以下代码显示了子视图,但 scrollView 不滚动。 Why?为什么?

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)
}

Putting the code in viewDidLayout instead of viewDidLoad not change the result: not scroll将代码放在 viewDidLayout 而不是 viewDidLoad 不会改变结果:不滚动

Instead of add scrolledView to subview of scrollView, set it as documentView.不是将 scrolledView 添加到 scrollView 的子视图中,而是将其设置为 documentView。

Replace scrollView.addSubview(scrolledView) with scrollView.documentView = scrolledViewscrollView.documentView = scrolledView替换scrollView.addSubview(scrolledView)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM