2017-03-03 8 views
0

Problem os passiert Bild in Geste zu übergeben, die nicht arbeiten, ich will Bild mit Leitungs Geste passieren und das Bild wird in anderem Zweck verwendet ..Wie UIImage in Tippgeste

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

dass Funktionsaufruf in Tippen Sie auf Geste ..

ich möchte dieses Bild verwenden .. bitte eine Lösung bieten.

+0

'wenn lassen imgview = tap.view wie? UIImageView {// Do something} 'um die aktuelle Ansicht zu erhalten –

+1

http://stackoverflow.com/q/9960512/4376861 – iDhaval

+0

Hoffe, das wird helfen. http://stackoverflow.com/questions/38299162/pass-extra-argument-for-uitapgesture_recognizer-with-selector – Lalit

Antwort

2

können Sie direkt auf das Bild bekommen von Image

func tapImage(_tap:UITapGestureRecognizer) { 

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

} 

für Probe

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

und behandeln die Aktion als

func tapImage(_ tap: UITapGestureRecognizer) { 

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

} 
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!) 
} 
+0

Sie müssen Ihre Antwort ändern, wenn Sie wie diese '#selector verwenden (imageTapped)) ', dann müssen Sie die Funktion wie' func imageTapped {'nicht' func imageTapped (GestenRecognizer: UITapGestureRecognizer) {' –

+0

Danke, aber wir können dies auch verwenden –