So versuche ich ein Popover zu erstellen, das beim Klicken auf eine Ansicht in einer Tabellenansicht Zelle erscheint. Hier ist, was ich bisher versucht habe. Dies ist, was ich in meinem customcell haben:Erstellen eines Popover-Segments Klicken auf eine Ansicht in einer Tabellenansicht Zelle
class Cell: UITableViewCell {
@IBOutlet weak var openingHoursView: CustomView!
override func awakeFromNib() {
super.awakeFromNib()
let tap = UITapGestureRecognizer(target: self, action: Selector("openingHoursTap:"))
openingHoursView.addGestureRecognizer(tap)
}
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
}
}
Das ist, was ich in meiner Ansicht-Controller haben:
else if segue.identifier == "openingHours" {
var vc = segue.destinationViewController
var controller = vc.popoverPresentationController
if controller != nil {
controller?.delegate = self
}
}
@IBAction func openingHoursTap(sender: UITapGestureRecognizer) {
performSegueWithIdentifier("openingHours", sender: self)
}
func adaptivePresentationStyleForPresentationController(controller: UIPresentationController) -> UIModalPresentationStyle {
return .None
}
Kennung korrekt ist. Der Anker befindet sich in der Tabellenansicht für den Abschnitt. Ich habe noch nie zuvor eine tappbare Ansicht erstellt, aber ich habe das gleiche mit einem Knopf gemacht und es hat gut funktioniert. Keine Fehler, App stürzt nur ab, wenn Sie auf die Ansicht klicken.
Ich vermute, es könnte etwas damit zu tun haben, dass ich es nicht in cellForRowAtIndexPath für die einzelne Zelle hinzufüge. Wie würde das mit einer Aussicht gemacht werden, wenn ich Target nicht hinzufügen kann?
Sie 'openingHoursTap rufen:' in der Tabellenzelle, aber Ihre tatsächliche Umsetzung von 'openingHoursTap:' ist in Ihrem View-Controller richtig? – TangZijian
korrigieren, versuchen, es in meiner Tabellenansicht zu implementieren – luke