2016-04-12 2 views
0

У меня есть UIScrollview, с помощью которого я могу увеличивать и уменьшать масштаб и перемещаться вокруг. Тем не менее, я хотел бы дать ScrollView плавающее ощущение, когда перемещение пальца слева направо экрана делает панораму UIScrollView таким образом, что она постепенно ускоряется с самого начала и постепенно замедляется в конце.Как задерживать/замедлять скорость панорамирования UIScrollView

Ничего лишнего драматического или дезориентирующего, но чтобы дать приятное ощущение невесомости в UIScrollView. Возможно ли это, и если да, то как я могу это сделать?

Вся помощь приветствуется.

ответ

1

Как уже упоминалось в другом ответе, UIScrollView имеет decelerationRate свойство, с двумя предопределенными константами UIScrollViewDecelerationRateFast и UIScrollViewDecelerationRateNormal значений.

Но если вы хотите, чтобы замедлить скорость торможения, вы можете использовать пользовательские значения с плавающей запятой, что-то вроде:

scrollView.decelerationRate = 0.4; 

Просто попробуйте поэкспериментировать с этим значением, и найти то, что лучше всего подходит для вас.

+0

Это отлично работает для замедления, спасибо! Хотя я также надеялся на форму ускорения смены ранга, если есть какие-либо известные способы сделать это. –

+0

Нет простых способов сделать это. Вы можете исследовать возможность изменения стандартного распознавателя жестов в UIScrollView и попытаться контролировать его смещение, получая жесты от этого распознавателя. Или добавьте другой UIPanGestureRecognizer, чтобы прокрутить представление и использовать его вместо этого. Во всяком случае, это очень сложный вопрос, а затем просто изменение скорости торможения. –

+0

Хорошо, спасибо за помощь с первой точкой в ​​любом случае :) Я принимаю это как ответ из-за того, что float имеет больше возможностей использования, чем заданные значения, как в случае с нижеприведенным ответом. –

1

Есть два варианта,

scrollView.decelerationRate = UIScrollViewDecelerationRateFast; 
scrollView.decelerationRate = UIScrollViewDecelerationRateNormal; 

Если это может помочь вам!

Смежные вопросы