2010-10-02 6 views
1

Ok, j'ai un scénario compliqué ici. J'ai un scrollview qui défile horizontalement et contient des tuiles, 1 centré sur l'écran à la fois avec l'utilisateur toujours capable de voir s'il y a plus à gauche ou à droite en ayant les bords des 2 vues visibles de chaque côté. Je suis capable d'ajouter les vues par programme à la scrollview et de faire fonctionner la pagination correctement, de sorte que l'utilisateur peut balayer entre eux. Une autre exigence est d'avoir une animation initiale où la première vue glisse, puis rebondit vers la gauche par la deuxième vue. J'ai accompli ceci en employant une série d'animations d'UIView, et cela fonctionne bien.UIScrollView modifier les pages après l'animation

Voici mon problème: Une fois l'animation terminée, vous ne pouvez pas faire défiler vers la gauche pour accéder au premier UIView créé. Je suppose que c'est parce qu'il a été animé à gauche de la zone de contenu de la scrollview. J'ai essayé d'augmenter le contenu de la scrollview, mais j'ai toujours le même comportement. Une fois que la scrollview initiale a été déplacée vers la gauche, je ne peux pas glisser vers la page.

Existe-t-il un modèle commun que je pourrais utiliser pour accomplir ceci d'une meilleure manière?

Répondre

2

Il me semble que vous animiez le cadre de la vue enfant vers la gauche de sorte que la coordonnée x de l'image de cette première vue soit négative, au lieu d'animer le contentOffset de la vue défilement vers la droite. Si c'est le cas, existe-t-il une raison pour laquelle vous ne définissez pas simplement contentOffset de la vue déroulante dans un bloc d'animation? S'il y a une raison, que se passe-t-il si, après la fin de l'animation, vous "corrigez" le décalage de contenu et les cadres des vues enfants afin qu'aucune des vues ne soit dans une position négative. Mais, je suppose que j'ai plus de questions que de réponses en ce moment, il pourrait donc être utile de poster le code montrant comment vous faites vos animations pour qu'il soit plus facile de répondre à votre question.

+0

J'ai été capable de résoudre cela en réglant la taille du contenu de UIScrollView à l'avance, puis en faisant défiler la position appropriée AVANT d'ajouter les vues. Maintenant, la pagination fonctionne comme prévu. Merci! –

Questions connexes