Показать определенную часть изображения

Допустим, у меня есть UIImageView что значительно меньше, чем изображение, которое он показывает. Я поставил contentMode в UIViewContentModeScaleAspectFill чтобы выглядело так, будто вы видите только определенную часть изображения. Он автоматически показывает центр изображения.

Я не хочу использовать другой contentModeЭто как top, bottom и т. д., потому что в моем приложении вы можете перетаскивать imageView и, когда вы его перемещаете, он показывает части изображения, которые находятся под imageView. Другими словами, imageView похож на окно для самого изображения.

Как я могу изменить часть изображения, которую показывает imageView?

Спасибо!

1 ответ

Решение

Различные возможности здесь:

  • Не используйте UIImageView. Используйте обычный вид и манипулируйте его слоем. Дайте содержание слоя и используйте его contentsRect описать, какая часть вида должна быть видимой.

  • Используйте UIImageView. Показать все изображение. Поместите представление изображения в представление прокрутки. Позвольте пользователю перетащить, чтобы прокрутить. (Представление прокрутки - "окно" к тому, что в нем.)

Второй вариант проще, потому что представление прокрутки реагирует на перетаскивание, тогда как при первой возможности вам придется обнаруживать перетаскивание отдельно и продолжать устанавливать contentsRect в ответ, таким образом, заново изобретая колесо.

Другие вопросы по тегам