UITableView захватывает сенсорные события из подпредставлений - PullRequest
3 голосов
/ 18 мая 2011

У меня есть UITableView, который загружает UIViews в свои ячейки. Эти UIViews используют методы -touchesBegan: withEvent: etc, которые все прекрасно работают, и позвольте мне реализовать код для перемещения этих подпредставлений в таблице. Это все работает, пока я не переместлю палец вертикально и не начну прокручивать стол, а затем UIViews перестает получать любые сенсорные события. Если кто-нибудь знает, как обойти это, я был бы очень счастлив! Большое спасибо.

Ответы [ 3 ]

3 голосов
/ 27 апреля 2012
-(void)ViewDidLoad
{
    UITapGestureRecognizer *tapped = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapped)];
    tapped.numberOfTapsRequired = 2;
    [self.view addGestureRecognizer:tapped];   
    [tapped release];
}

-(void)tapped
{
    NSLog(@"TAPPED");
}
1 голос
/ 18 мая 2011

Родительский UIScrollView вашего UITableView может вступать во владение, реагируя на ваши сенсорные события.

Просто переслать событие в ваши пользовательские подпредставления.

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    if ([touches count] == 1) 
    { 
        //Your code here than should return if it reacts to touch

    }
    //forwarding action: 
    [self.nextResponder touchesBegan:touches withEvent:event];
}

Источник: Переадресация касанием на uitableview?

0 голосов
/ 22 мая 2013

Старая тема, но я боролся с той же проблемой (UITableView в качестве подпредставления к UITableView).Просто отключите прокрутку для «родительского» UITableView с scrollEnabled = NO.Это остановит вертикальную прокрутку.

...