iOS 8, Swift. Я пытаюсь просмотреть вертикально прокрутку по горизонтальной прокрутке. Они оба UIScrollViews. Вид вертикальной прокрутки позволяет открывать снизу снизу. В верхней части экрана есть спейсер, который использует ширину 1 пиксель, но высоту экранов.Вертикальный UIScrollView над горизонтальным UIScrollView
Это прекрасно работает, пока основной вид сам по себе не является прокруткой, чтобы поддерживать горизонтальную прокрутку.
Мне как-то нужно передать левую/правую жесты панорамы в подвью, которая является UIScrollView.
В настоящее время вертикальный вид прокрутки верхнего уровня фиксирует все жесты и не позволяет вести горизонтальный прокрутки в виде событий.
Я пробовал различные комбинации меток hitTest, gestureRecognizer, подклассов scrollview, но придумал хорошее чистое решение.
Я могу использовать hitTest для передачи событий в горизонтальное представление прокрутки при нажатии на пустое пространство в верхней части вертикального представления прокрутки, но тогда вертикальное представление прокрутки никогда не обрабатывает панорамирование или салфетки, чтобы показать содержимое, которое должно появляться на экране.
В идеале, я бы хотел, чтобы верхний вертикальный вид прокрутки обрабатывал только панорамирование вверх/вниз, а также пропускал панорамирование влево/вправо, чтобы просмотреть, когда вертикальное представление прокрутки находится вверху.
Хорошо, так сенсорные события являются проблемой, Yessir, у меня нет времени, чтобы уточните, как я это исправит, но у меня есть несколько советов для вас, сначала выключите, установите drectionalLockEnabled в TRUE для обоих видов прокрутки, а во-вторых, установите в свой scrollviewDidScrollMethod, попробовали ли вы это, если бы у вас даже было 1 касание, через: \t if (scrollView == _ verticalScrollView) { \t \t [_verticalScrollView setContentOffset: CGPointMake (0, scrollView.contentOffset.у)]; \t} else { \t \t [_horizontalScrollView setContentOffset: CGPointMake (scrollView.contentOffset.x, 0)]; – Loxx
и еще одна идея, и вот как я это делаю, это использовать три scrollViews, 1 scrollview, который пуст и прозрачен, который находится поверх других двух прокруток, и это прокрутка позволяет перемещаться вверх и вниз и вокруг, затем вы делаете это: \t [_verticalScrollView setContentOffset: CGPointMake (0, _invisibleScrollView.contentOffset.y)]; \t [_horizontalScrollView setContentOffset: CGPointMake (_invisibleScrollView.contentOffset.x, 0)]; и, конечно же, вы не разрешаете события касания на горизонтальном или вертикальном просмотре прокрутки, только верхнее прокручивание, которое является полунезависимым, – Loxx
. Часть проблемы заключается в том, что я не знаю, как иметь верхний вид прокрутки, условно проходящий жест жеста к горизонтальному представлению прокрутки. Если я переопределяю hitTest, я могу сделать все события доступными к нижнему SV, ни одному из них. Мне нужно условно, чтобы горизонтальная панорама переместилась в нижний вид прокрутки. – David