static NSString *cellIdentifier = @"Cell";
AssignmentTableCell *cell = (AssignmentTableCell *) [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if(cell == nil) {
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"AssignmentTableCell" owner:self options:Nil];
cell = [nib objectAtIndex:0];
}
这是我的自定义单元初始化代码。我正在检测自定义单元格的 uitouch,然后我推动视图控制器而不是使用 UItableView 的 DidSelected 事件。但我面临的问题是
我可以一次选择 2 行,这不是我的本意,这会导致应用程序崩溃。我尝试禁用多点触控,但没有用。他们仍然一次选择 2 个单元格。
任何帮助将不胜感激。
编辑1:
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
imgBg.image = [UIImage imageNamed:@"rowSelected.png"];
[[self delegate] touchStarted:tag];
}
-(void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event
{
imgBg.image = [UIImage imageNamed:@"7CustomCellBackground.png"];
[[self delegate] touchEnded:tag];
}
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
//imgBg.image = [UIImage imageNamed:@"7CustomCellBackground.png"];
[[self delegate] rowTocuchedFromClicked:tag];
}
这里是cell的touches方法
您可以添加一些有关如何检测单元格触摸的代码吗?此外,您看到多个选择的原因是因为您没有取消选择选定的单元格。做一些类似的事情-
-(void) tableView:(UITableView*)tableView didSelectRowAtIndexPath:(NSIndexPath)indexPath
{
[tableView deselectRowAtIndexPath: indexPath animated: YES];
//your other stuff
}
崩溃原因另有原因,只能粘贴控制台日志才能确定。