1

我正在尝试以编程方式突出显示表格视图单元格并通过执行以下操作触发选择逻辑

NSIndexPath*indexPath = [NSIndexPath indexPathForRow:0 inSection:0];
[self.tableView selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionNone];
[self tableView:self.tableView didSelectRowAtIndexPath:indexPath];

该行仅突出显示一瞬间。我希望它保持突出显示,直到我选择另一行。

我尝试添加这些行

UITableViewCell *cell = [self.tableView cellForRowAtIndexPath: indexPath];
cell.highlighted = YES;

但是当我这样做时,即使我点击另一行,高亮仍然存在,直到我再次点击第一行才消失。

有任何想法吗?

4

2 回答 2

1

尝试调用 selectRowAtIndexPath 但不调用 didSelectRowAtIndexPath。我相信后者被称为前者的结果。如果您的委托取消选择 didSelectRowAtIndexPath 中最后选择的索引路径,则双重调用将导致取消选择您刚刚选择的内容

于 2013-07-09T22:18:47.303 回答
0

似乎问题是因为我从 viewDidLoad 调用代码,我将它移到 viewDidAppear 现在它很好

于 2013-07-09T22:49:33.947 回答