Показать определенную часть изображения
Допустим, у меня есть UIImageView
что значительно меньше, чем изображение, которое он показывает. Я поставил contentMode
в UIViewContentModeScaleAspectFill
чтобы выглядело так, будто вы видите только определенную часть изображения. Он автоматически показывает центр изображения.
Я не хочу использовать другой contentMode
Это как top, bottom и т. д., потому что в моем приложении вы можете перетаскивать imageView и, когда вы его перемещаете, он показывает части изображения, которые находятся под imageView. Другими словами, imageView похож на окно для самого изображения.
Как я могу изменить часть изображения, которую показывает imageView?
Спасибо!
1 ответ
Различные возможности здесь:
Не используйте UIImageView. Используйте обычный вид и манипулируйте его слоем. Дайте содержание слоя и используйте его
contentsRect
описать, какая часть вида должна быть видимой.Используйте UIImageView. Показать все изображение. Поместите представление изображения в представление прокрутки. Позвольте пользователю перетащить, чтобы прокрутить. (Представление прокрутки - "окно" к тому, что в нем.)
Второй вариант проще, потому что представление прокрутки реагирует на перетаскивание, тогда как при первой возможности вам придется обнаруживать перетаскивание отдельно и продолжать устанавливать contentsRect
в ответ, таким образом, заново изобретая колесо.