Swift - tableview内容与内容不匹配?

时间:2018-04-21 01:26:43

标签: ios swift uitableview swift3

好的我已经在这方面苦苦挣扎了一段时间 - 基本上我通过故事板设置了tableview,我现在需要通过代码修改其内容大小。

基本上问题是我有这些tableview单元格,并且我在此tableview的顶部和底部重叠了一个视图(两个重叠视图的1个单元格的高度相同)。这很好,因为我已经将tableview向下移动了位置。就像这样:

enter image description here

但是当我滚动到底部时我遇到了问题 - 我无法完全看到最后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!!

但是这会导致一些扩展表高度的无限循环。其他方法没有成功。

我可以在这做什么?

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:-1)

通过故事板最小化tableview的高度。@ skyguy