J'essaie de vous faire avertir lorsque Uiscrollview CODE> est PINCH ZOOMED au-delà de sa limite de zoom minimum et est sur le point d'animer, mais je le trouve très difficile. Existe-t-il une façon de faire cela avec
délégué code> seul ou dois-je remplacer
UISCrollView's's CODE> TACTULLING? P>
4 Réponses :
Vous pouvez utiliser l'UISCrollView's Capturer ce moment est bon et tout, mais essayant de faire quoi que ce soit pour préempter l'animation de rebond-to-minimum-to-minimum semble avoir des effets secondaires vraiment étranges pour moi. : ( p> ScrollViewDidzoom CODE> Méthode de déléguée pour détecter le moment où il est sur le point d'animer. Vous verrez
scrollview.zoomscale code> Drop ci-dessous
Scrollview.minimumzoomZale Code> tandis que la vue est en cours de pincée. Ensuite, dès que l'utilisateur libère leurs doigts,
ScrollViefDidzoom code> sera appelé à nouveau avec
ScrollView.zoomscale == ScrollView.minimumzoomZale code>, mais
ScrollView.zooming == Non code>. P>
Et si je veux capturer un zoomscale autre que minimumzoomscale, comme si! ScrollView.zooming && ScrollView.zoomscale <0.6 {faire quelque chose} code>
Je l'ai fait avec uipinchgesurerecognizer code>.
Utiliser ScrollViefDidLZoom: Cochez> et vérifiez si
ScrollView.zoombouncing == Oui code>. Ensuite, utilisez
zoomscale code> pour déterminer quelle direction la vue rebondissait.
- (void)scrollViewDidZoom:(UIScrollView *)scrollView {
if (scrollView.zoomBouncing) {
if (scrollView.zoomScale == scrollView.maximumZoomScale) {
NSLog(@"Bouncing back from maximum zoom");
}
else
if (scrollView.zoomScale == scrollView.minimumZoomScale) {
NSLog(@"Bouncing back from minimum zoom");
}
}
}
Ce sera appelé exactement lorsque l'utilisateur a fini de zoom et que le zoomscale est à sa valeur minimale possible, c'est-à-dire lorsque le défilement La vue est zoomée complètement. p> p>
Comment puis-je détecter l'utilisateur pincer pour effectuer un zoom arrière, s'ils ne font pas zoomer tout le chemin?
@Daniel Springer que l'attribut ZoomCale a toutes les informations dont vous avez besoin. Cela diminuera à mesure qu'ils font zoomer, alors vérifiez si le zoomcale a diminué sans aller tout le chemin (c'est-à-dire au minimumzoomcale). Si vous avez toujours des problèmes posez la question et liez-le ici, je peux partager un exemple de cela.
Afin de vérifier si cela a diminué, vous devez économiser la valeur précédente à une variable de mienne?
Oui, exactement. Il n'y a rien d'intégré à la vision de ScrollView qui fait cela pour vous, vous souhaitez donc la suivre avec votre propre variable.
J'ai compris. Merci!