2010-10-11 4 views
0

J'ai une série de UITableViews affichées dans un ScrollView horizontal. Dans chaque vue de table, chaque TableViewCell se compose de deux vignettes représentant une vue détaillée. J'utilise touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event pour attraper quand l'une des tuiles a été tapée. De là, je pousse une vue détaillée sur le NavigationController et montre un écran différent. Cette interaction fonctionne lorsque la vue initiale est chargée. Toutefois, si vous faites rapidement défiler l'une des vues de table, l'événement touchesBegan arrête de se déclencher. Aucun avertissement de mémoire n'est reçu pendant ce temps.L'événement touchesBegan arrête de se déclencher après plusieurs défilements

Voici le code que je utilise l'intérieur du contrôleur de vue qui reçoit le robinet (une petite tuile à l'intérieur de la tableviewcell:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ 
    NSLog(@"Touched received on ArticleTileViewController"); 
    ArticleViewController *vc = [[ArticleViewController alloc] initWithArticleData:self.articleDataArray]; 
    ProjectAppDelegate *appDelegate = (ProjectAppDelegate *)[UIApplication sharedApplication].delegate; 

    [appDelegate.navController pushViewController:vc animated:YES]; 
} 

EDIT: J'ai aussi essayé la même chose avec touchesEnded, mêmes résultats de comportement.

Suis-je manque quelque chose?

Répondre

0

Je résolu ce problème en utilisant le passage à la mise en œuvre UITapGestureRecognizer. a été rapide et facile !!

Questions connexes