我希望在首次加载表时选择偶数行的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
}
但它不会选中该行。表看起来像
我尝试的第二种方法是调用self.tableView.selectRow(at: index path, animated: true, scrollPosition: UITableViewScrollPosition.none)
删除第一种方法中使用的cellForRow方法中的其他逻辑。这种方法似乎有效。
任何人都可以告诉我为什么第一种方法不起作用,天气我的第二种方法是否合适。谢谢:))
答案 0 :(得分:0)
检查您是否在didSelectRowAtIndexPath方法中执行deselectRowAtIndexPath。