UITableView-多选-我可以根据所选单元格的数量更改标题吗?

时间:2019-02-18 21:30:13

标签: swift uitableview

我有一个普通的视图控制器,其中包含一个tableview对象。我已经将viewcontroller扩展为使用UITableViewDataSourceUITableViewDelegate

我的tableview允许多项选择,并且我能够跟踪在tableView.indexPathsForSelectedRows.count方法中使用willSelectRowAt()选择的行数

我正在tableview方法中设置viewForHeaderInSection()标题。但是,似乎没有办法将两者链接起来,以使标题取决于所选的行数

例如

如果tableView.indexPathsForSelectedRows.count <1,标题= Hello

如果tableView.indexPathsForSelectedRows.count = 2,标题=早上好

谢谢

1 个答案:

答案 0 :(得分:0)

您需要使用正确的视图来实现

func tableView(_ tableView: UITableView, 
   viewForHeaderInSection section: Int) -> UIView? { --- }

func tableView(_ tableView: UITableView, 
    willSelectRowAt indexPath: IndexPath) -> IndexPath? {
    if let header = tableview.headerView(forSection:indexPath.section) as? YourCustomHeader {
       // here update the model with the new header name to avoid dequeuing problems 
       header.yourLbl.text = "" // change here according to any logic
    }
}

---带有titleForHeaderAt

if let header = tableview.headerView(forSection:indexPath.section) {
       // here update the model with the new header name to avoid dequeuing problems 
       header.textLabel.text = "" // change here according to any logic
}