UIScrollView Вертикальное панорамирование Привязка к верхней или нижней части экрана

У меня есть изображение размером 320x480, и при изменении ориентации это изображение явно висит вне поля зрения. На некоторых изображениях его фокус находится с обрезанным низом (что нежелательно). Моя проблема, однако, заключается в том, что когда пользователь перемещается по вертикали, чтобы увидеть полное изображение, вид привязывается к нижней части, что означает, что верхняя часть фокальной точки обрезана. Я хочу, чтобы пользователи могли «свободно прокручивать» изображение и, возможно, перемещать изображения так, чтобы фокус был в центре экрана, вместо того, чтобы обрезать верх и низ. Я понимаю, что это сложно описать словами, поэтому я прикрепил несколько изображений ниже.

Вот как это начинается:

альтернативный текст

Вот где он привязывается к низу:

альтернативный текст

Вот такой взгляд я хотел бы иметь, но не могу:

альтернативный текст

Есть ли способ контролировать эту «привязку» или, возможно, метод, который я мог бы использовать, чтобы переопределить его, имея дело именно с такой ориентацией? Моя проблема в том, что я ХОЧУ, чтобы он щелкал при панорамировании влево/вправо на другие изображения в ScrollView, а не вверх/вниз.

РЕДАКТИРОВАТЬ:

pagingEnabled — это свойство, которое управляет этой привязкой, но можно ли в любом случае определить, является ли движение вверх/вниз или влево/вправо, и отключить или включить это свойство в каждом случае?

Спасибо за любую помощь, которую вы можете предложить


person Dan Hanly    schedule 21.10.2010    source источник


Ответы (1)


Вы можете попробовать использовать два вида вложенной прокрутки; один ограничен горизонтальной прокруткой с включенным пейджингом, а другой (или один для каждой страницы, если вы показываете несколько изображений?) ограничен вертикальной прокруткой с отключенным пейджингом. По умолчанию это будет работать, как вы сказали, листание / привязка по горизонтали, но свободная прокрутка по вертикали. Однако это позволит вам прокручивать только в одном направлении за раз (горизонтально или вертикально, но не по диагонали).

Если вы хотите использовать вложенные представления прокрутки, подобные этому, но хотите разрешить прокрутку/перетаскивание в обоих направлениях одновременно, взгляните на мое решение для этого: Одновременная прокрутка вложенных UIScrollView

person trevorsm    schedule 21.10.2010
comment
Спасибо за совет. Подход с вложенными прокрутками работал нормально :) Ура - person Dan Hanly; 21.10.2010