Предпросмотр ячейки с картинкой в collectionview, как в Instagram


#1

Доброго времени суток, товарищи! Решил сделать предпросмотр картинки из collectionview, как в Instagram. Возник резонный вопрос: как поймать момент вызова? Нужно использовать событие долгого нажатия на ячейку, force touch или каким-то образом прикрутить этот haptik? Может что-то ещё? Ведь от force touch отказались… Или можете просто показывать картинку в alert? Любые мысли будут полезны. Заранее спасибо)


#2

Вот, что вам нужно:

https://developer.apple.com/documentation/uikit/uilongpressgesturerecognizer


#3

Это обработка долгого нажатия, да, я читал и даже реализовал его. А как нам быть дальше? Показывать картинку в новом vc, во view или ещё как-то?


#4

Если я правильно вас понял, то обычно такое делается в новом VC с использованием transition, что бы изначальная картинка растянулась на весь размер появившегося vc.


#5

Понятно, я думал, что есть какие-то методы, работающие с этим. Вроде очевидная же функция при работе в картинками.


#6

Если iOS 13+, то почитайте про UIContextMenuConfiguration и метод https://developer.apple.com/documentation/uikit/uicollectionviewdelegate/3295917-collectionview


#7

Примерно так нужно?

Видео


#8

Да, это прям хорошо) Каким образом Вы добились этого?


#9

Скинул на яд Архив


#10

Этот метод проще, там даже отдельный VC не нужен.
Но я бы делал переход на VC с ViewPager’ом.


#11

А почему Вы бы делали именно переход?


#12

Ну опять же зависит от целей и функционала.

  1. как-то эстетичнее
  2. не нагружать текущий VC элементами и кодом
  3. можно добавить дополнительный функционал в просмотр

#13

Разумно, да. У меня все действия с выбранной картинкой происходят при нажатии на нее. Предпросмотр нужен чтобы просто ее посмотреть и решить, стоит ли ее изменять.


#14

Psilc, спасибо за код)
RexHunt, сделал как Вы говорили, получилось гораздо проще и нет проблем с размытой картинкой)
Спасибо всем большое за помощь)


#15

Нет проблем :grinning: