通过 addSubview 添加自定义视图到 NSScrollView 时没有滚动条出现

No scrollbars appear when adding a custom view via addSubview to NSScrollView

我想在运行时通过代码动态添加自定义 NSView 作为 NSScrollView 的内容。 所以我在我的 NSWindow 中添加了一个 NSScrollView,为此 NSScrollView 创建了一个出口并添加了我的自定义视图。

@IBOutlet var myScrollView: NSView!
@IBOutlet var myCustomView: NSView!

myScrollView.addSubview(myCustomView)

这工作正常(myCustomView 的内容显示在 NSScrollView 中)但是 NSScrollView 滚动条被禁用并且内容(大于 NSScrollView)无法滚动。

有什么我想念的吗? 谢谢!

要向 NSScrollView 添加可滚动内容,您应该设置 documentView 而不是通过 addSubview(_:)

let myView = MyView(frame: <somerect>)
scrollView.documentView = myView

如果滚动仍然不起作用,您可能需要指定 contentSize

NSScrollView

的文档