Uiaccelerometer и UiscrollView.
-
28-09-2019 - |
Вопрос
Я хочу прокрутить ScrollView на основе значений UiAccelerometer. Какой лучший способ сделать это?
Первоначально я устанавливаю компенсирование содержимого в значение, основанное на значениях акселерометра, которые я получаю. Затем на каждом scrollViewDidEndAnimating
, Я снова установил смещение контента на основе значений Acceleromter. Я это понимаю setContentOffset
На самом деле прокручивает ScrollView с равномерной скоростью без какого-либо ускорения. Однако этот механизм, по-видимому, очень jerky в прокрутке ScrollView.
Любые идеи будут оценены.
Спасибо и пожелаете
Решение
Я сделал это один раз. 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;
}
Не связан с StackOverflow