2017-08-31 1 views
1

ich einen UICollectionViewcell in meinem Code habeSwift wie Tippgeste auf uicollectionviewcell Kindern Elemente hinzuzufügen

let cell = commentSection.dequeueReusableCell(withReuseIdentifier: cellId, for: indexPath) as! CommentCell 

Und in CommentCell habe ich diesen Imageview bekam

let likeIcon: UIImageView = { 
    let imv = UIImageView() 
    imv.image = #imageLiteral(resourceName: "like") 
    imv.translatesAutoresizingMaskIntoConstraints = false 
    return imv 
}() 

Ich versuchte, eine Tippgeste zu likeIcon Hinzufügen in CommentCell und auch in cellForItemAt aber keiner von ihnen ausgelöst, wenn Sie klicken. Wie kann ich gestureTapRecognizer zu Kind Element der Zelle hinzufügen?

+0

Haben Sie 'imv.isUserInteractionEnabled = true'? – Phyber

+0

@Phyber Nein, ich werde es jetzt hinzufügen –

+0

@Phyber es hat nicht funktioniert –

Antwort

0

Blick auf den Code:

.... 
    let imageView = UIImageView() 
    imageView.isUserInteractionEnabled = true 
    let recognizer = UITapGestureRecognizer() 
    recognizer.addTarget(self, action: #selector(yourHandleMethod(tapGestureRecognizer:))) 
    imageView.addGestureRecognizer(recognizer) 
.... 

func yourHandleMethod(tapGestureRecognizer: UITapGestureRecognizer) { 
    print("tap") 
} 

Rufen Sie diese Methode update() außerhalb in cellForItem (für jede Zelle).

... 
    cell.update() 
... 

// Diese Methode innerhalb Zelle

func update() { 
    let recognizer = UITapGestureRecognizer() 
    recognizer.addTarget(self, action: #selector(yourHandleMethod(tapGestureRecognizer:))) 
    imageView.addGestureRecognizer(recognizer) 
} 
+0

leider hat es nicht funktioniert –

+0

Haben Sie Ihre likeIcon Zelle wie addSubview (likeIcon) hinzugefügt? –

+0

Natürlich habe ich –

0

Hinzufügen UIImageView und Gestenerkenner Bereitstellung wird die Komplexität der Entwicklung erhöhen. Wenn Sie Maßnahmen müssen dann verwenden UIButton und setzen Zielaktion für Taste in cellForRowAtIndex

Sie können entweder background image oder image zu UIButton gesetzt.

Speichern Sie das verarbeitete Bild besser im UIImage-Objekt und weisen Sie es UIButton zu.

Verwandte Themen