加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 04:34:06 所属栏目:百科 来源:网络整理
导读:在我创建的应用程序中,我将“滚动视图”拖放到主故事板.这会自动创建一个NSScrollView,其中包含一个NSClipView,其中包含一个NSView.精细. 我想要实现的是动态添加复选框到该滚动视图.我不知道预先会有多少个复选框(这就是我需要滚动的原因). 将子视图添加到N
在我创建的应用程序中,我将“滚动视图”拖放到主故事板.这会自动创建一个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上提供了您可能想要设置的更多细节和更多选项.

希望这可以帮助!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读