通过 addSubview 向 NSScrollView 添加自定义视图时不出现滚动条

问题描述

我想在运行时通过代码动态添加自定义 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 的文档

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...