Проблема Multi Touch в пользовательском UiTableViewCell - PullRequest
1 голос
/ 22 августа 2011
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 для пользовательских ячеек, а затем нажимаю на контроллер представления, а не использую событие DidSelected из UItableView.Но проблема, с которой я сталкиваюсь, заключается в

. Я могу выбрать 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];
}

Вот метод касания ячейки.

1 Ответ

1 голос
/ 22 августа 2011

Можете ли вы добавить код относительно того, как вы обнаруживаете прикосновения к ячейке?Кроме того, причина, по которой вы видите несколько вариантов выбора, потому что вы не отменяете выделенную ячейку.Сделайте что-то вроде -

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

Причиной сбоя является что-то еще, что может быть установлено только после вставки журналов консоли.1008 *

...