2010-07-30 2 views
1

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

Моя основная проблема заключается в том, что с использованием значений акселерометра я не могу установить смещение содержимого. Поскольку scrollview сам прокручивается с использованием определенной скорости, и при попытке прокрутки с использованием значений акселерометра происходят рывки.

ответ

0

Попробуйте это:

- (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; 
} 
Смежные вопросы