问题描述
我想在运行时通过代码动态添加自定义 NSView
作为 NSScrollView
的内容。
因此,我向我的 NSScrollView
添加了一个 NSWindow
,为此 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 的文档