【问题标题】:Cocoa NSScrollView not scrolling可可 NSScrollView 不滚动
【发布时间】:2016-02-16 10:35:24
【问题描述】:

我尝试创建一个滚动视图。通过 Xib 创建了一个滚动视图,以编程方式添加了滚动视图(一个包含滚动视图中所有子视图的 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)
}

将代码放入 viewDidLayout 而不是 viewDidLoad 不会改变结果:不滚动

【问题讨论】:

    标签: swift macos cocoa nsscrollview


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2016-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多