IOS Swift Tableview: - 如何根据内容显示单元格?

时间:2016-03-11 07:55:10

标签: ios swift uitableview

我很新,很快就需要任何指针。 我在表视图控制器中有一个如下所示的数组。我正在使用单元格表标签在 cellForRowAtIndexPath

中显示字符串
var arrTest: [String] = ["test", "test2", "test3", "try", "test4", "try", "test5", "try"] 

cell.textLabel?.text = arrTest[indexPath.row]

效果很好。但是每次我点击" 尝试"时,我想跳到数组中的下一个项目。我已尝试过以下步骤,但无法达到我想要的效果。有什么指示吗?

var tempIndex: Int = 0

cellForRowAtIndexPath

    if tempIndex < arrTest.count && arrTest[tempIndex] != "try" {
        cell.textLabel?.text = arrTest[tempIndex]
        tempIndex++
    } else {
        tempIndex++
        repeat{
        if tempIndex < arrTest.count && arrTest[tempIndex] != "try" {
                cell.textLabel?.text = arrTest[tempIndex]
                    tempIndex++
                break
            }
            tempIndex++
        } while tempIndex < arrTest.count

    }

2 个答案:

答案 0 :(得分:1)

简单的方式不显示此单元格

func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat
{
    if arrTest[indexPath.row] == "try"
    {
        return 0
    }
    return 44
}

如果您的手机高度是动态的,请使用此

 func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat
{
    if arrTest[indexPath.row] == "try"
    {
        return 0
    }
    return UITableViewAutomaticDimension
}

func tableView(tableView: UITableView, estimatedHeightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat
{
    return 44.0
}

答案 1 :(得分:0)

从数组中删除“try”,然后填充表格。

let newArrayTest = arrTest.filter() {$0 != "try"} 
yourTableView.reload();