繁体   English   中英

如何在isEditing属性更改时更新UITableView?

[英]How to update UITableView when isEditing property changes?

我目前有一个带有带editButtonItem的导航栏的TableViewController。 当我点击此按钮时,我的tableview正确进入编辑模式,但我想在isEditing更改时更改自定义UITableViewCell上的标签。 我已经尝试将以下内容添加到cellForRowAt中:

   if editingMode {
        cell.timeZoneLabel = ""
    } else {
        cell.timeZoneLabel = timeZone.city
    }

但是当isEditing发生变化时,似乎没有重新加载tableView。

我的下一个想法是在开始时设置以下变量:

var editingMode = false {
    didSet {
        tableView.reloadData()
    }
}

并将以下内容添加到viewDidLoad()中,以便在isEditing更改时重新加载tableView:

    editingMode = isEditing

但这似乎不起作用。 我试过寻找其他解决方案,但我找不到有类似问题的人。

任何指导将不胜感激!

在单元格覆盖中didTransition(to rawValue 0表示正常状态, rawValue 1表示showingEditControl

override func didTransition(to state: UITableViewCell.StateMask) {
    switch state.rawValue {
    case 0: timeZoneLabel = timeZone.city
    case 1: timeZoneLabel = ""
    default: break
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM