Uiacceleromment et UiscrollView
-
28-09-2019 - |
Question
Je souhaite faire défiler un ScrollView en fonction des valeurs Uiacceleromètre. Quelle est la meilleure façon d'y parvenir?
Initialement, je définis le décalage de contenu sur une valeur en fonction des valeurs d'accéléromètre que j'obtiens. Puis sur chacun scrollViewDidEndAnimating
, J'ai à nouveau défini le décalage de contenu en fonction des valeurs Acceleromter. je comprends que setContentOffset
En fait, défile la vue de défilement avec une vitesse uniforme sans aucune accélération. Cependant, ce mécanisme semble être très saccadé pour faire défiler la vue de défilement.
Toutes les idées sont les bienvenues.
Merci et salutations
La solution
J'ai fait ça une fois. sv
est la vue de défilement.
- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration {
if (sv.tracking || sv.decelerating) return;
CGPoint pt = sv.contentOffset;
pt.x += acceleration.x * 2;
pt.y -= acceleration.y * 2;
if (pt.x < 0) pt.x = 0;
if (pt.x > sv.contentSize.width - sv.frame.size.width) pt.x = sv.contentSize.width - sv.frame.size.width;
if (pt.y < 0) pt.y = 0;
if (pt.y > sv.contentSize.height - sv.frame.size.height) pt.y = sv.contentSize.height - sv.frame.size.height;
sv.contentOffset = pt;
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow