【问题标题】:Swift - tableview contentsize doesnt match content?Swift - tableview contentsize 与内容不匹配?
【发布时间】:2018-10-01 18:06:00
【问题描述】:

好的,我已经为此苦苦挣扎了一段时间 - 基本上我通过故事板设置了一个表格视图,现在我需要通过代码修改其内容大小。

基本上问题是我有这些表格视图单元格,并且我在此表格视图的顶部和底部重叠了一个视图(两个重叠视图的高度与 1 个单元格相同)。这很好用,因为我在 position.y 中向下移动了 tableview,如下所示:

但是,当我滚动到底部时,我遇到了问题 - 我无法完全看到最后 2 个单元格。除了一直添加 2 个虚拟单元格(因为我不断地重新加载我的 tableview 数据/单元格数量)这似乎是错误的,我无法解决这个问题。

我尝试过的是每次重新加载我都会这样做:

  func fixTableHeight()
    {

        //just make bigger
        self.myTableView.contentSize.height *= 1.1

          self.myTableView.contentSize.height = rssListToLoad + (height of 1) //TEMP

        //print("HI: ",self.myTableView.contentSize.height)

    }

 self.myTableView.reloadData()
    self.fixTableHeight() //**MUST BE AFTER RELOAD DATA!!

但是这会导致一些无限循环的延长桌子高度。其他方法完全无效。

我可以在这里做什么?

【问题讨论】:

    标签: ios swift uitableview swift3


    【解决方案1】:

    通过storyboard.@skyguy最小化tableview的高度

    【讨论】:

      【解决方案2】:

      UITableViewUIScrollView 的子类,因此在内容大小方面对它们进行相同处理。你需要在底部拉伸内容视图,而不是随意增加它的大小,所以只需添加一个表格页脚:

      tableView.tableFooterView = UIView(frame: CGRect(x: 0, y: 0, width: 1, height: 100))
      

      如果您需要包含安全区域,请在 viewDidLayoutSubviews() 等生命周期方法中添加页脚,并在其中添加插入值。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-13
        • 1970-01-01
        相关资源
        最近更新 更多