Swift OSX动态地将项添加到滚动列表

Swift OSX动态地将项添加到滚动列表,第1张

概述在我创建的应用程序中,我将“滚动视图”拖放到主故事板.这会自动创建一个NSScrollView,其中包含一个NSClipView,其中包含一个NSView.精细. 我想要实现的是动态添加复选框到该滚动视图.我不知道预先会有多少个复选框(这就是我需要滚动的原因). 将子视图添加到NSScrollView或NSClipView实际上会显示一些复选框,但滚动未启用.将子视图添加到NSView不会呈现任何 在我创建的应用程序中,我将“滚动视图”拖放到主故事板.这会自动创建一个NSScrollVIEw,其中包含一个NSClipVIEw,其中包含一个NSVIEw.精细.

我想要实现的是动态添加复选框到该滚动视图.我不知道预先会有多少个复选框(这就是我需要滚动的原因).

将子视图添加到NSScrollVIEw或NSClipVIEw实际上会显示一些复选框,但滚动未启用.将子视图添加到NSVIEw不会呈现任何内容.

编辑:我也尝试修改NSScrollVIEw,NSClipVIEw和NSVIEw的高度,没有运气.

如果向视图添加了太多复选框,如何启用滚动?

解决方法 所以诀窍就是创建一个容器视图(即NSVIEw)来保存按钮.在故事板中创建NSScrollVIEw时,它会为您创建NSClipVIEw和NSVIEw.向NSVIEw添加或删除按钮后(可以创建自己的按钮,或使用提供的按钮),将滚动条的documentVIEw设置为包含按钮的视图.这会在滚动条中正确重置所有内容,您应该滚动!如果更改表示滚动内容的视图的大小,则只需将该视图重新分配给scroller.documentVIEw,它将相应地更新所有内容.

这是一个向滚动条添加20个按钮的可怕示例:

let documentVIEw = NSVIEw(frame: CGRectMake(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上提供了您可能想要设置的更多细节和更多选项.

希望这可以帮助!

总结

以上是内存溢出为你收集整理的Swift OSX动态地将项添加到滚动列表全部内容,希望文章能够帮你解决Swift OSX动态地将项添加到滚动列表所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1003913.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-22
下一篇2022-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存