ребята! Я делаю приложение типа мессенджера, где я могу отправлять/получать изображения. После касания изображения оно должно открываться в другом контроллере (FullScreenImageVC). В этом контроллере это изображение должно иметь реальный размер, быть в центре и его можно сжимать для увеличения. Все это я делаю программно и без всяких библиотек.
Вот мой контроллер, куда я получаю изображение из предыдущей ВК, и где я делаю всю логику:
class FullScreenImageVC: UIViewController, UIScrollViewDelegate {
var startingFrame: CGRect?
var blackBackgroundView: UIView?
var startingImageView: UIImageView?
var imageToSave: UIImage?
var zoomingImageView: UIImageView = {
let image = UIImageView()
image.translatesAutoresizingMaskIntoConstraints = false
return image
}()
var scrollView: UIScrollView = {
let scroll = UIScrollView()
scroll.minimumZoomScale = 1
scroll.maximumZoomScale = 7
scroll.translatesAutoresizingMaskIntoConstraints = false
return scroll
}()
override func viewDidLoad() {
super.viewDidLoad()
scrollView.delegate = self
let imageView = UIImageView()
imageView.image = zoomingImageView.image
imageView.contentMode = .scaleAspectFit
imageView.isUserInteractionEnabled = true
view.addSubview(scrollView)
scrollView.addSubview(imageView)
scrollView.fillSuperView()
imageView.fillSuperView()
}
static func navigate(_ context: UIViewController, image: UIImageView) {
let vc = FullScreenImageVC()
vc.zoomingImageView = image
vc.hidesBottomBarWhenPushed = false
context.navigationController?.pushViewController(vc, animated: true)
}
func viewForZooming(in scrollView: UIScrollView) -> UIView? {
return self.zoomingImageView
}
}
Вот что я получил на данный момент: ссылка на гифку
Пожалуйста, любая помощь будет оценена.
Я прочитал только один контроллер представления в вашем коде.





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