Frage

Ich möchte eine Scrollview basierend auf den UIACCelerometer -Werten scrollen. Was ist der beste Weg, um dies zu erreichen?

Zunächst habe ich den Inhaltsversatz auf einen Wert gesetzt, der auf den von mir erhalten Beschleunigungsmesserwerten basiert. Dann auf jedem scrollViewDidEndAnimating, Ich habe den Inhaltsversatz erneut basierend auf den Acceleromter -Werten festgelegt. ich verstehe das setContentOffset Scrollen Sie tatsächlich die Scrollview mit einer einheitlichen Geschwindigkeit ohne Beschleunigung. Dieser Mechanismus scheint jedoch sehr ruckartig zu sein, wenn es darum geht, die Scrollview zu scrollen.

Alle Ideen werden geschätzt.

Danke und Grüße

War es hilfreich?

Lösung

Ich habe das einmal gemacht. sv ist die Bildlaufansicht.

- (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;
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top