我有一个包含行的表格视图,当点击该行时,有时会返回从我单击的位置向上一行的行。相关代码:
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
let currentCell: UITableViewCell = self.tableView.cellForRowAtIndexPath(indexPath)!
currentCell.backgroundColor = UIColor.greenColor()
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell:UITableViewCell = self.tableView.dequeueReusableCellWithIdentifier("cell")!
//.... cell modifications
return cell
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// this is to make at least one empty row
if (meeting.attendees.isEmpty) {
return 1
} else {
if section == 0 {
return requiredParticipants.count }
else {
return optionalParticipants.count }
}
}
我该怎么做才能解决这个问题:
1。使用numberOfRows函数检查数组的一致性(它是正确的,数字是正确的)
2. 检查了细胞的高度 - 怀疑上部细胞以某种方式与底部细胞重叠 - 也不是这种情况
3. 重构的cellForRow使用dequeReusableCell(最初没有用过) - 怀疑是内存问题,也没用。
会发生什么:当您单击时,单击的单元格会以绿灯突出显示,并且大约50%的时间,单击一个位置的单元格会突出显示。问题也是不一致的,这意味着有一半时间会突出显示正确的问题。