删除额外的单元格/行空白,而不会在UITableView

时间:2016-02-22 14:39:32

标签: ios swift uitableview

我用数据填充UITableView并且工作正常。

但我的问题是,当UITableView的数据行数较少时,它会正确显示包含数据的行但显示空格。 例如:如果tableview有1行要显示它会显示该行,那么就会有空行像空行。  我试过了

tableView.tableFooterView = UIView()

tableView.tableFooterView = UIView(frame: CGRectZero)

屏幕截图:

enter image description here

但两人都刚刚删除了Cell边框,而不是出现了额外的空格。 请建议。提前谢谢。

编辑:

选择按钮不是单元格的一部分。只需尝试单击选择按钮,然后单击它下面的UITableView显示。 (就像DropDown一样)。 此外,使用默认的Tableview Cell而不是自定义TableView单元

代码:

func numberOfSectionsInTableView(tableView: UITableView) -> Int {
        return 1
    }

    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return cityList.count
    }

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCellWithIdentifier(cityCellIdentifier, forIndexPath: indexPath) as UITableViewCell

        let row = indexPath.row
        cell.textLabel?.text = self.cityList[row].cityEn
        print("CityName" + self.cityList[row].cityEn )

        return cell
    }

StoryBoard ScreenShot

enter image description here

3 个答案:

答案 0 :(得分:2)

如果您不希望空单元格将TableView样式从Plain设置为Grouped。

答案 1 :(得分:1)

抱歉,我会发表评论,但名声不够:

这是tableView大小,每当完整的tableview没有填充行时,它会显示一些空的额外行。如果您不想这样,那么您有不同的可能性:

  • 你可以使tableView的大小更小 - 例如单元格数* cellHeight
  • 您可以更改tableView的外观,因此它将是clearColor而不是white,因此占位符单元格将不可见。

答案 2 :(得分:1)

添加到@choli回答你可以做两件事,

  1. 根据行调整表格视图的高度, Resize UITableView's height to be as high as it needs to fit only total content size
  2. 更简单的解决方案是清除表背景颜色 tableView.tableFooterView = UIView(frame: CGRectZero) tableView.backgroundColor = UIColor.clearColor()