0

problem os to pass image in gesture that not work, i want to pass image with tap gesture and that image is used in other purpose..

func addGestureToImageView(imgView:UIImageView) {
let tapGesture1 = UITapGestureRecognizer(target: self, action:#selector(self.tapImage(tap: ,img:imageview)))
    imgView.addGestureRecognizer(tapGesture1)
}

that function call in tap gesture..

func tapImage(tap:UITapGestureRecognizer,img:UIImage) {
   viewDisplay(img:img)
}

i want to use that image..please provide a solution.

Sagar Bhut
  • 657
  • 6
  • 28

2 Answers2

2

you can directly get the image from imageview

  func tapImage(_tap:UITapGestureRecognizer) {

   if let getImage = tap.view as! UIImageView
    {
          viewDisplay(getImage:img)
      }

}

for sample

let tapGesture = UITapGestureRecognizer(target: self, action: #selector(self. tapImage(_:)))
imgView.isUserInteractionEnabled = true
imgView.addGestureRecognizer(tapGesture)

and handle the action as

func tapImage(_ tap: UITapGestureRecognizer) {

   if let getImage = tap.view as! UIImageView
    {
          viewDisplay(getImage:img)
      }

}
Anbu.Karthik
  • 82,064
  • 23
  • 174
  • 143
1
self.imgView.isUserInteractionEnabled = true
let tapRecognizer = UITapGestureRecognizer(target: self, action: #selector(imageTapped))
imgView.addGestureRecognizer(tapRecognizer)


 func imageTapped(gestureRecognizer: UITapGestureRecognizer)
 {

  let tappedImageView = gestureRecognizer.view!
  let imageView = tappedImageView as! UIImageView
  print("image ---%@",imageView.image!)
 }
Lalit kumar
  • 1,797
  • 1
  • 8
  • 14
  • you need to modify your answer, if you are using like this `#selector(imageTapped))`, then you need to call the function as like `func imageTapped {` not `func imageTapped(gestureRecognizer: UITapGestureRecognizer) {` – Anbu.Karthik Mar 03 '17 at 05:33
  • Thanks But we can also use this – Lalit kumar Mar 03 '17 at 05:38