目前我使用UITableViewSelectionStyleNone
然後改變顏色基於委託方法小區覆蓋標準UITableViewSelectionStyle:刪除的UITableViewCell選擇
- (void)tableView:(UITableView *)tableView
didHighlightRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
[cell setBackgroundColor:[UIColor yellowColor]];
}
- (void)tableView:(UITableView *)tableView
didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
[cell setBackgroundColor:[UIColor whiteColor]];
}
- (void)tableView:(UITableView *)tableView
didUnhighlightRowAtIndexPath:(NSIndexPath *)indexPath {
NSLog(@"indexpath: %i",indexPath.row);
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
[cell setBackgroundColor:[UIColor whiteColor]];
}
- (void)tableView:(UITableView *)tableView
didDeselectRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
[cell setBackgroundColor:[UIColor whiteColor]];
}
這幾乎工作,只是每當我選中一個單元格,然後拖我手指沒有實際選擇它,顏色不會變成白色......如果我將它設置爲[UIColor RedColor],它可以正常工作。這是爲什麼?
編輯:
不知怎的,當我打印出來的indexPath.row didUnhlightRowAtIndexPath後,我得到「indexpath:2147483647」從我的NSLog
indexPath'2147483647'等同於'NSNotFound'。 – Malloc