Слайд UIScrollView - PullRequest
       2

Слайд UIScrollView

0 голосов
/ 31 июля 2011

Я сделал слайд-просмотр, используя uiview и обнаруживая прикосновения для перемещения страниц.Этот слайдпрайв почти похож на этот , за исключением того, что я сделал так, что он работает как UITableView.

Теперь я использую это для просмотра uiscrollview.Проблема в том, «как распределить сенсорные события в режиме просмотра прокрутки или просмотра слайдов?».У меня была логика, чтобы сделать.В основном, uiscrollview - вертикальные, а slideview - горизонтальные.

Я пытался использовать hitTest, чтобы сохранить touchBegan, Moved, Ended в виде слайдов.Когда я получаю движение касанием по горизонтали, я продолжаю показ слайдов, когда вертикально, распространяю в просмотр uiscroll.Но я не могу понять, как распределить события в uiscrollview.

Вызов [scrollView touchesBegan: затрагивает withEvent: событие] не работает.Я предположил, что у uiscrollview есть другой способ работы.

1 Ответ

0 голосов
/ 01 августа 2011

Если вы не нашли ключ к ответу, возможно, вы ошибаетесь.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...