Snapkit:如何在 scrollView 中嵌入一个简单的 tableView?
Posted
技术标签:
【中文标题】Snapkit:如何在 scrollView 中嵌入一个简单的 tableView?【英文标题】:Snapkit: How can I embed a simple tableView inside a scrollView? 【发布时间】:2020-06-25 10:51:55 【问题描述】:我在我的 ios 项目中使用 Snapkit。
视图 -> 滚动视图 -> 表格视图
我试过 view.addSubview(scrollView) scrollView.addSubview(tableView)
我尝试在 tableview 上设置一堆约束,但它从未出现在滚动视图上。 而如果我将它添加到视图 (view.addSubview(tableView) ) 那么它会正确显示。
【问题讨论】:
将 tableView 添加为 UIScrollView 的子视图时,您的目的是什么? 需要显示由几个标签、按钮等包围的项目列表 你想要多大的桌子? scrollView 的滚动方向是什么(水平、垂直)? 表格宽度 = 100%,高度 = 所需数量。滚动方向 = 垂直 我不明白为什么你必须使用额外的 uiScrollView 来满足这些要求,但是你可以检查答案 【参考方案1】: label.text = "hello world"
scrollView.addSubview(label)
scrollView.addSubview(tableView)
view.addSubview(scrollView)
scrollView.snp.makeConstraints (make) in
make.edges.equalToSuperview()
make.width.equalToSuperview()
label.snp.makeConstraints make in
make.top.left.right.equalToSuperview()
make.bottom.equalTo(tableView.snp.top)
tableView.snp.makeConstraints (make) in
make.left.right.bottom.equalToSuperview()
make.width.height.equalTo(view)
【讨论】:
表格上方和下方都有元素。我不希望高度为 100%。高度可以等于自然高度吗? 不过我建议你删除 scrollView 并设置:table.tableHeaderView = label
底部的元素呢?
这取决于你的要求,其实我不知道你想要什么布局。例如,如果表格视图没有滚动到底部,是否应该显示底部的标签?
使用我的布局代码,它会显示表格视图,对吧?哪个部分不符合您的要求?以上是关于Snapkit:如何在 scrollView 中嵌入一个简单的 tableView?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 SnapKit 中按比例设置边缘偏移与超级视图高度的大小