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

Était-ce utile?

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
scroll top