UIScrollView définir par programmation contentOffset problème

Je suis entrain de créer un ImageViewer similaire à l'app Photos. J'ai un PagingScrollView qui est le point de vue d'une-vue-contrôleur (créé en loadView). Les pages sont UIScrollViews avec UIImageView des sous-vues. Tout fonctionne hunky dory jusqu'à ce que j'essaie de "skip" (définir le décalage du contenu) à un indice en plus de la première. Si je saute à-dire, l'image de "je", l'image s'affiche correctement, mais si l'utilisateur effectue un seul geste appuyez sur la contentOffset réinitialise retour à l'affichage de l'image de "0". L'erreur ne se produit pas avec d'autres gestes comme le glisser-et il n'arrive pas avec touch si vous faire un autre geste, comme le glisser-première.

C'est mon loadView de la ImageViewerController

- (void)loadView
{
    //Make the outer spaging scroll view
    CGRect pagingScrollViewFrame = [self frameForPagingScrollView];
    UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:pagingScrollViewFrame];
    scrollView.pagingEnabled = YES;
    scrollView.backgroundColor = [UIColor blackColor];
    scrollView.showsVerticalScrollIndicator = NO;
    scrollView.showsHorizontalScrollIndicator = NO;
    scrollView.contentSize = [self contentSizeForPagingScrollView];
    scrollView.delegate = self;
    self.view = scrollView;
}

C'est de cette façon que je suis en train de définir le contenu de décalage

#define myView (UIScrollView *)self.view

[myView setContentOffset:[self contentOffsetForIndex:index]];

[..]

- (CGPoint)contentOffsetForIndex:(NSUInteger)index
{
    return CGPointMake((index * (self.view.frame.size.width)), 0);
}
Peut-être le post le geste des modules de reconnaissance? Tout ici semble bien pour moi. Ne le touchez appeler la contentOffset-changement de la sorte?
Je ne suis pas tout ajout de modules de reconnaissance de geste de ma part. Le robinet est d'être capturé par la pagination de défilement de la vue et il réinitialise son contentOffset retour à la page d'affichage 0. Pendant qu'il fait cela je reçois le scrollViewDidScroll délégué message
Je suis en train de vivre la même question, dans iOS 6. pour iOS 5, il fonctionne très bien. Aussi ce bug disparaître une fois que j'ai désactiver pagingEnabled ou si je désactive le défilement de l'animation. Tout savoir une meilleure façon de résoudre ce problème ?

OriginalL'auteur Mike | 2011-06-13