在我创建的应用中,我拖放了一个' Scroll View
'到主要的故事板。这会自动创建NSScrollView
,其中NSClipView
为NSView
,其内部为NSScrollView
。细
我想要实现的是向该滚动视图动态添加复选框。我不知道会提前有多少个复选框(这就是我需要滚动的原因)。
向NSClipView
或NSView
添加子视图实际上会显示一些复选框,但滚动未启用。将子视图添加到NSScrollView
不会呈现任何内容。
修改:我还尝试修改NSClipView
,NSView
和--rcfile
的高度,但没有运气。
如果在视图中添加了太多复选框,如何启用滚动?
答案 0 :(得分:3)
所以诀窍就是创建一个容器视图(即NSView
)来按住按钮。在故事板中创建NSScrollView
时,会为您创建NSClipView
和NSView
。在NSView
添加或删除按钮后(您可以创建自己的按钮,或使用提供的按钮),将滚动条的documentView
设置为包含按钮的视图。这会在滚动条中正确重置所有内容,您应该滚动!如果您更改代表滚动内容的视图的大小,您只需将该视图重新分配给scroller.documentView
,它就会相应地更新所有内容。
这是一个向滚动条添加20个按钮的可怕示例:
let documentView = NSView(frame: CGRectMake(0,0,200,1200))
for index in 0..<20 {
let offset = CGFloat(index * 50)
let button = NSButton(frame: CGRectMake(0, offset, 150, 50 ))
documentView.addSubview(button)
}
scrollView.documentView = documentView
Apple documentation上的http://localhost:4502/content/geometrixx/en/mycomponentinstance.json提供了您可能想要设置的更多详细信息和更多选项。
希望这有帮助!