Iphone UITableViewCell在滚动时变为蓝色
我遇到了一个非常奇怪的错误,我不知道如何修复它:当我在UITableView中滚动时,它有时会突出显示蓝色单元格,即使我没有完全选中 例如:Iphone UITableViewCell在滚动时变为蓝色,iphone,objective-c,ios,Iphone,Objective C,Ios,我遇到了一个非常奇怪的错误,我不知道如何修复它:当我在UITableView中滚动时,它有时会突出显示蓝色单元格,即使我没有完全选中 例如: -单元格1- -单元格2- -单元格3- -第4单元- 如果我将手指放在单元格2上并滚动到单元格4,它将使单元格2高亮显示,即使didSelectRowAtIndexPath:从未触发 有什么想法吗 编辑 新增代码: UITableViewCell *cell = nil; static NSString *cellId = @"
-单元格1-
-单元格2-
-单元格3-
-第4单元-
如果我将手指放在单元格2上并滚动到单元格4,它将使单元格2高亮显示,即使didSelectRowAtIndexPath:从未触发 有什么想法吗 编辑 新增代码:
UITableViewCell *cell = nil;
static NSString *cellId = @"StyleDefault";
cell = [tableView dequeueReusableCellWithIdentifier:cellId];
if (cell == nil) {
cell = [[[UITableViewCell alloc]
initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellId] autorelease];
}
cell.textLabel.text = @"Cell One";
cell.textLabel.textAlignment = UITextAlignmentCenter;
[cell setAccessoryView:nil];
return cell;
在创建单元格时,可以使用以下命令
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
cell = Your allocation.
cell.selectionStyle = UITableViewCellSelectionStyleNone;
我想您还需要查看触摸的UIViewTable属性,即延迟内容触摸和可取消内容触摸
希望这有帮助。覆盖-tableView:将在UITableView委托中选择Rowatindexpath:,并为所有内容返回nil,以确保您不允许它选择行。修复了它 我的解决方案分为两部分: 1) 在cellForRowAtIndexPath中:放置“cell.selected=NO;”,这解决了如果单元格被触碰然后离开屏幕(滚动)的问题 2) 将“[tableView取消RowatineXpath:indexPath动画:是];”放入DidSelectRowatineXpath:而不是我以前的“[[tableView CellForRowatineXpath:indexPath]setSelected:NO];”,这在很多级别上都是错误的
[tableView deselectRowAtIndexPath:indexPath animated:YES];
希望这能帮助其他有这个问题的人。案例结束。您能给我们看一下cellForRowAtIndexPath中的单元格创建代码吗?请告诉我们您在
cellForRowAtIndexPath
delegate中具体做了什么?我想他希望单元格可以选择。他的观点是当你滚动视图时。这根本不允许我选择行。当我滚动时,这会消除选择,但不幸的是,如果用户确实选择了行,它不会变成蓝色。
[tableView deselectRowAtIndexPath:indexPath animated:YES];