Если вы не нашли ключ к ответу, возможно, вы ошибаетесь.
UIScrollView использует собственный способ получить прикосновения Bean, Moved и Ended. Это не так, но это значит, что если вы переопределите touchSegan, чтобы UIScrollView перестал работать, вы его не получите. Используя hitTest в суперпредставлении прокрутки, вы можете получить касания до UIScrollView, но вы не можете изменить цель касаний во время касаний.
В конце концов, есть один способ решить эту проблему, три способа.
1- Имитация касаний
Я не проверял это, вы узнаете ниже. События приходят из UIWindow и передаются в подпредставление - (void) sendEvent: (UIEvent *) event . Мы не знаем, как сохраняется касание цели, и изменить это совершенно не приходится. Но мы можем использовать идею переопределения hitTest суперпредставления, чтобы знать, что пользователь сделает, чтобы создать «WA» для изменения цели. Для этого симуляция события касания закончилась. Предполагаемая цель будет сброшена. Имитация сенсорного события начинается снова, и на этот раз убедитесь, что хит-тест получит прокрутку.
Вы можете найти, как имитировать события здесь . Проблема в том, что ваше приложение может быть отклонено из-за использования приватных методов.
2 - Создайте свой собственный UIScrollView
Это должно быть лучшим или худшим, в зависимости от того, что вы хотите сделать. Я считаю, что это больно. И это не то, что вы хотите сделать прямо сейчас.
3 - сдаться 'Nest UIScrollView'
Сделать слайд-шоу из PDF, HQ, документов и книг, это лучший и безболезненный способ. Поместите UIScrollView внутри другого и дайте им достичь соглашения о прокрутке. http://developer.apple.com/library/ios/#documentation/WindowsViews/Conceptual/UIScrollView_pg/NestedScrollViews/NestedScrollViews.html