如何在Swift中隐藏/删除空表视图行?

时间:2019-11-12 13:15:54

标签: ios swift xcode uitableview tableview

你好,我有表格视图从API提取数据

但是我想显示具有特殊条件的行

我试图隐藏不需要的行,但是我不想在单元格中显示它们

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell: DetailsListCell = tableView.dequeueReusableCell(at: indexPath)
    switch self.type!{
    case "inbox":
        if inboxData[indexPath.row].delYn != "Y"{
           cell.configure(withDate: inboxData[indexPath.row].dodate, withName: inboxData[indexPath.row].deptNm, withMsgNameBottom: inboxData[indexPath.row].title)
        }else{
            cell.isHidden = true
        } 

2 个答案:

答案 0 :(得分:0)

您不应在此方法中隐藏单元格。相反,您应该有一个数据模型或一些指示器,该指示器应告诉表视图要显示的行和要隐藏的行。

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return 3 // only the number of rows to show
}

答案 1 :(得分:0)

我已经尝试过,这种简单的方法可以100%起作用 在高度上,单元格放置条件,如果另一个单元格不在状态 然后让单元格的高度为0

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        if inboxData[indexPath.row].delYn != "Y"{
            return 130
        }else{
            return 0
        } 
}