自定义ios tableview单元格不起作用

时间:2017-05-29 23:02:23

标签: ios swift uitableview tableviewcell

我有一个自定义的tableview单元格,如果单击该单元格,则应该展开单元格,如果没有单击,则不应该展开单元格。

还有一个自定义视图,如果单击该单元格,我希望增加自定义视图的高度,如果未单击该单元格,则它应该是一定高度。此代码在cellForRowAt中设置< / p>

 if TableView.rowHeight == 126 {

            cell.CustomView = UIView(frame: CGRect(x: 7, y: 8, width: 359, height: 20))

            return cell
        }
        else{

        }

但我设置的更改视图高度的代码不起作用,我不知道从那里去哪里

单击单元格时,我的自定义视图如下所示:enter image description here

单击单元格时,这就是自定义视图的外观:enter image description here

正如您所看到的,我的问题是未单击单元格时,视图的底部是一条直线,但单击单元格时,底部是圆形的。我希望在未单击单元格时也可以舍入视图。

2 个答案:

答案 0 :(得分:1)

致电beginUpdatesendUpdates以强制tableView更新高度

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    // new row selected
    self.selectedIndex = indexPath
    tableView.beginUpdates()
    tableView.endUpdates()
}

See also

答案 1 :(得分:1)

添加以下代码。希望这会对你有所帮助。

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

        //performSegue(withIdentifier: "toDetail", sender: self)
        self.isExpanded = true
        self.selectedIndex = indexPath
        tableView.beginUpdates()
        tableView.endUpdates()
        self.isExpanded = false
    }
func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) {

        self.selectedIndex = IndexPath()
        tableView.beginUpdates()
        tableView.endUpdates()
    }

礼貌:@JožeWs