自定义 UiTableViewCell 中的多点触控问题

问题描述 投票:0回答:1
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方法

objective-c uitableview ios4 uitouch
1个回答
1
投票

您可以添加一些有关如何检测单元格触摸的代码吗?此外,您看到多个选择的原因是因为您没有取消选择选定的单元格。做一些类似的事情-

-(void) tableView:(UITableView*)tableView didSelectRowAtIndexPath:(NSIndexPath)indexPath
{
    [tableView deselectRowAtIndexPath: indexPath animated: YES];
    //your other stuff
}

崩溃原因另有原因,只能粘贴控制台日志才能确定。

© www.soinside.com 2019 - 2024. All rights reserved.