在编辑情绪中,表视图单元格仍未被选中

时间:2018-05-23 09:08:53

标签: ios swift tableview

我希望在首次加载表时选择偶数行的tableview。我已将tableview编辑样式设置为"编辑期间的多个选择"从故事板。我尝试了两种方法,第一种方法如下

override func viewDidLoad() {
    super.viewDidLoad()
    self.tableView.delegate = self
    self.tableView.dataSource = self
    self.tableView.setEditing(true, animated: true)
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "cell")
    cell?.textLabel?.text = data[indexPath.row]
    if (indexPath.row % 2 == 0){
        cell?.isSelected = true
    }else {
        cell?.isSelected = false
    }
    return cell!
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
   return data.count
}

但它不会选中该行。表看起来像

enter image description here

我尝试的第二种方法是调用self.tableView.selectRow(at: index path, animated: true, scrollPosition: UITableViewScrollPosition.none)删除第一种方法中使用的cellForRow方法中的其他逻辑。这种方法似乎有效。

任何人都可以告诉我为什么第一种方法不起作用,天气我的第二种方法是否合适。谢谢:))

1 个答案:

答案 0 :(得分:0)

检查您是否在didSelectRowAtIndexPath方法中执行deselectRowAtIndexPath。