In meiner App habe ich eine Tabellenansicht mit einem Profilbild und einem Benutzernamen Label. Wenn Sie auf einem der 2 klicken Sie dann auf der Notwendigkeit, diese Funktion zu tun:2 Elemente in einer Zelle mit dem gleichen tapGestureRecognizer (swift)
func goToProfileScreen(gesture: UITapGestureRecognizer) {
self.performSegueWithIdentifier("profile", sender: nil)
}
aber wenn ich versuche, dies in meinem cellForRowAtIndexPath zu implementieren es funktioniert nur für das letzte Mal, dass ich es hinzugefügt haben.
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
if let cell = tableView.dequeueReusableCellWithIdentifier("NewsCell") as? NewsCell {
let post = self.posts[indexPath.row]
cell.request?.cancel()
let profileTapRecognizer = UITapGestureRecognizer(target: self, action: #selector(NewsVC.goToProfileScreen(_:)))
profileTapRecognizer.numberOfTapsRequired = 1
// profileTapRecognizer.delegate = self
cell.profileImg.tag = indexPath.row
cell.profileImg.userInteractionEnabled = true
cell.profileImg.addGestureRecognizer(profileTapRecognizer)
cell.usernameLabel.tag = indexPath.row
cell.usernameLabel.userInteractionEnabled = true
cell.usernameLabel.addGestureRecognizer(profileTapRecognizer)
var img: UIImage?
if let url = post.profileImageURL {
if url != "" {
img = NewsVC.imageCache.objectForKey(url) as? UIImage
}
}
cell.configureCell(post, img: img)
cell.selectionStyle = .None
return cell
} else {
return NewsCell()
}
}
so jetzt funktioniert es für den Benutzernamen Label. wenn ich zuerst die benutzername-label in den code und dann die profileImg, dann funktioniert es nur für die profileImg?
wie kann ich es für beide arbeiten?
werde es thx versuchen. Ich habe es nie ausprobiert, weil ich dachte, es wäre zu viel Code und Wiederholung für die gleiche Antwort .. Aber ok :) –
Bekam es, und es funktioniert :) Warum müssen sie es so machen? es wäre so viel einfacher und schneller, wenn Sie nur die selbe GesteRecognizer verwenden könnten ... –
Ich habe meine Antwort oben bearbeitet – 123FLO321