【问题标题】:Snapkit: How can I embed a simple tableView inside a scrollView?Snapkit:如何在 scrollView 中嵌入一个简单的 tableView?
【发布时间】:2020-06-25 10:51:55
【问题描述】:

我在我的 iOS 项目中使用 Snapkit。

视图 -> 滚动视图 -> 表格视图

我试过 view.addSubview(scrollView) scrollView.addSubview(tableView)

我尝试在 tableview 上设置一堆约束,但它从未出现在滚动视图上。 而如果我将它添加到视图 (view.addSubview(tableView) ) 那么它会正确显示。

【问题讨论】:

  • 将 tableView 添加为 UIScrollView 的子视图时,您的目的是什么?
  • 需要显示由几个标签、按钮等包围的项目列表
  • 你想要多大的桌子? scrollView 的滚动方向是什么(水平、垂直)?
  • 表格宽度 = 100%,高度 = 所需数量。滚动方向 = 垂直
  • 我不明白为什么你必须使用额外的 uiScrollView 来满足这些要求,但是你可以检查答案

标签: ios swift snapkit


【解决方案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
  • 底部的元素呢?
  • 这取决于你的要求,其实我不知道你想要什么布局。例如,如果表格视图没有滚动到底部,是否应该显示底部的标签?
  • 使用我的布局代码,它会显示表格视图,对吧?哪个部分不符合您的要求?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多