UIAccelerometer и UIScrollView - PullRequest
       21

UIAccelerometer и UIScrollView

2 голосов
/ 13 августа 2010

Я хочу прокрутить вид прокрутки на основе значений UIAccelerometer.Каков наилучший способ сделать это?

Изначально я установил для смещения содержимого значение, основанное на значениях акселерометра, которые я получаю.Затем на каждом scrollViewDidEndAnimating я снова устанавливаю смещение содержимого на основе значений акселерометра.Я понимаю, что setContentOffset на самом деле прокручивает просмотр с равномерной скоростью без какого-либо ускорения.Однако этот механизм кажется очень резким при просмотре прокрутки.

Будут оценены любые идеи.

Спасибо и всего наилучшего

1 Ответ

3 голосов
/ 13 августа 2010

Я сделал это один раз.sv - это вид прокрутки.

- (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;
}
...