Я использую KVO
для наблюдения за свойством contentOffset
UIScrollView
. Когда пользователь потянет scrollView
вниз и contentOffset.y == -50.0
, я хочу, чтобы прокрутка отображалась, как будто пользователь взял свой палец с экрана. Есть какой-либо способ сделать это?Программно отменить прокрутку пользователя UIScrollView
0
A
ответ
0
Да, вы можете ограничить его смещение до -50.0.
- (void) observeValueForKeyPath:(NSString*)keyPath
ofObject:(id)object
change:(NSDictionary*)change
context:(void*)context
{
//if this is not the only KVO then you should first perform some checks
//if the object and keypath are correct
//otherwise you can omit the check or modify, if your UIScrollView is subclassed
if ([object isKindOfClass:[UIScrollView class]])
{
UIScrollView *scrl = (UIScrollView *)object;
CGPoint offset = scrl.contentOffset;
if (offset.y < -50.0f)
{
offset.y = -50.0f;
scrl.contentOffset = offset;
}
}
}
Вы можете рассмотреть вопрос о переносе этого кода в scrollView
методов делегата (didScroll:
и др. КВО является отличным инструментом, но это может быть слишком дорого для быстро меняющихся значений.
Смежные вопросы
- 1. Как вы программно заставляете прокрутку использовать UIScrollView?
- 2. (iphone) uiscrollview touch. отменить связь содержания и начать прокрутку
- 3. UIScrollView прокручивается вниз программно
- 4. Как создать UIScrollview программно
- 5. Запретить правую прокрутку uiscrollview
- 6. iPhone UIScrollView, замедлить прокрутку
- 7. сделать прокрутку UIScrollview
- 8. GMSMapView Предотвращает прокрутку UIScrollView
- 9. Почему UIScrollView останавливает прокрутку?
- 10. Как создать UIScrollview внутри Uiscrollview программно
- 11. Как отменить прокрутку recyclerView?
- 12. iOS UIScrollView отменить UIButton touch на прокрутке
- 13. Отменить текущий UIScrollView touch
- 14. Как я могу узнать прокрутку скорости пользователя с помощью UIScrollView?
- 15. Как настроить прокрутку по вертикали только программно
- 16. UIButton внутри UIScrollView отключает прокрутку
- 17. Как отключить горизонтальную прокрутку UIScrollView?
- 18. UIScrollView отключить прокрутку, когда removeFromSuperView
- 19. UIScrollView остановил прокрутку на iOS7
- 20. UIScrollView: отключить прокрутку при масштабировании
- 21. UIScrollView canCancelContentTouches не отключает прокрутку
- 22. UIView UIScrollView над предотвратить прокрутку
- 23. Как ускорить прокрутку в UIScrollView?
- 24. Swift - Создание вертикального UIScrollView программно
- 25. Отменить UIScrollView отскок после перетаскивания
- 26. UITapgesture с UIScrollview не остановить прокрутку?
- 27. Программно прокрутите UIScrollView
- 28. Flick a UIScrollView программно
- 29. Как реализовать UIScrollView программно
- 30. Как программно увеличить UIScrollView?
Спасибо за ответ, но к сожалению, установка свойства contentOffset scrollview не делает действие scrollview, как пользователь, отпустить его. Я просто попробовал его там. –
Хм, возможно, я понял, что вы ошибаетесь. Поэтому вы хотите, чтобы scrollView продолжал прокручивать, как если бы пользователь был поднят его палец? В этом случае я попробую установить 'touchesEnabled' в' NO', когда 'y' достигает -50.0, но вы также для реализации метода делегата 'didEndScrollingAnimation', где вы могли бы повторно использовать штрихи для этого' scrollView': я бы определенно переместил весь код, связанный с поведением, на 'делегировать' методы и вырезать KVO в этом конкретном случае. –