如何在触摸时向UITableViewCell添加标签?

时间:2018-08-03 01:22:14

标签: ios swift uitableview cell

我有一个UITableView,我正在显示UITableViewCells

当我单击一个单元格时,我想在该单元格中的新行上为该单元格添加标签。

我正在正确更新数据结构,只是不知道如何将标签添加到子视图中。

这是将行添加到数据结构中的地方:

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    itemdata[indexPath.section].items[indexPath.row - 1].rows.append(row(size: 0))
    // need to call below method somehow to update views
}

这是我认为需要在单元格中添加标签的地方:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "itemcell") as! itemcell
    cell.lblItemName?.text = itemdata[indexPath.section].items[indexPath.row - 1].name
    if(itemdata[indexPath.section].items[indexPath.row - 1].rows.count > 0){
        // dynamically add new rows to the cell in a loop
        // each row is a label on a new line
    }
    return cell
}

点击之前,该单元格的外观如下:

UITableViewCell

触摸后,它应如下所示:

UITableViewCell with 1 row

再次触摸后,它应该看起来像这样:

UITableViewCell with 2 rows

动态添加新行是我不知道该怎么做。

如果可能的话,我希望能够以类似于可以对单元进行原型制作的方式直观地设计一行(带有标签,按钮等),然后将这样的行添加到单元中。也许是通过在单元格中排成一排这样的空行,然后可以通过增加触摸来实现。

我不想通过在单元格中放置另一个UITableView并在其中放置更多UITableViewCells来实现此目的,因为我不需要视图可滚动并且不需要行细胞之间。

0 个答案:

没有答案