2010-10-03 4 views
2

J'ai un UIScrollView contenant un UIView dans Interface Builder. Dans l'application en cours d'exécution, même si la vue est plus grande que la vue défilante, lorsque je parcours le scrollView, il rebondit toujours à l'origine. Jusqu'à ce que, je zoom le scrollView avec un geste de pincement. Ensuite, le panoramique laisse la vue contenue dans un état correct. Ai-je manqué un réglage sur le panoramique/zoom dans le scrollView, ou un paramètre contentOffset? Je n'arrive pas à comprendre les changements apportés à la fonction scroolView avant d'effectuer un zoom avant ou après le zoom, ce qui me permet de travailler comme souhaité, mais pas avant. Quiconque a résolu ce problème, merci!UIScrollView ne fait pas de panoramique avant l'action de l'utilisateur de zoom

Répondre

5

J'ai eu exactement le même problème! Trouvé la réponse dans this post et l'a adapté à iOS.

Fondamentalement, assurez-vous que vous configurez le délégué et zoomScales dans cet ordre:

scrollView.delegate = self; 
scrollView.minimumZoomScale = 0.1; 
scrollView.maximumZoomScale = 4.0; 
scrollView.zoomScale = 1.0; 

Ensuite, il devrait fonctionner!

1

J'ai eu exactement le même problème, et j'ai tout essayé pour le réparer. J'utilisais le constructeur d'interface pour définir un UIScrollView et un UIImageView comme sous-vue pour faire défiler une image.

Il a commencé à fonctionner après avoir supprimé les deux vues du générateur d'interface et les avoir créées par programmation.

Rappelez-vous d'ajouter le imageView comme pour la sous-vue ScrollView:

[scrollView addSubview:imageView]; 
1

Déplacer réglage contentSize à viewDidAppear, et ne me demandez pas pourquoi. ;)

Questions connexes