Search code examples
swiftuiimageviewcocoapodsuitapgesturerecognizer

Unable to to install "GSImageViewerController Pod" and unable to use its code in project in swift


I need tapped image in full screen for that one of the developer suggested this GSImageViewerController pod..

if i install the pod only like pod "GSImageViewerController" this and "import GSImageViewerController" in swift file in my project

and like documentation said i have written below code

import UIKit
import GSImageViewerController
class ViewController: UIViewController {

@IBOutlet weak var tapImage: UIImageView!

override func viewDidLoad()
{
    super.viewDidLoad()

    let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(imageTapped(tapGestureRecognizer:)))
    tapImage.isUserInteractionEnabled = true
    tapImage.addGestureRecognizer(tapGestureRecognizer)
}

@objc func imageTapped(tapGestureRecognizer: UITapGestureRecognizer)
{

    let imageInfo   = GSImageInfo(image: tapImage.image!, imageMode: .aspectFit)
    let imageViewer = GSImageViewerController(imageInfo: imageInfo)
    navigationController?.pushViewController(imageViewer, animated: true)
}
}

for imageview controller i have added navigationcontroller.. so here if i tap on image then image coming in full screen.. but like documentation said here if i tap anywhere in the screen or drag out the image then i am unable to go back to original position why?? where am i wrong??? please do help


Solution

  • Instead of push you should do present. Below is a working example from my project.

    let imageInfo = GSImageInfo(image: profileImageView.image!, imageMode: .aspectFit)
    let transitionInfo = GSTransitionInfo(fromView: profileImageView)
    let imageViewer    = GSImageViewerController(imageInfo: imageInfo, transitionInfo: transitionInfo)
    present(imageViewer, animated: true, completion: nil)