Ich habe einen benutzerdefinierten TableViewController mit einer benutzerdefinierten TableViewCell. Ich habe ein Segment auf dem Storyboard von der Zelle zu einem anderen ViewController erstellt, um die Details anzuzeigen, preparedForSegue wird jedoch nie aufgerufen. Ich habe versucht, mit didSelectRowAtIndexPath, aber es auch nicht aufgerufen. Ich nehme an, dass es daran liegt, dass ich die benutzerdefinierten Zellen dynamisch erstelle und sie nicht den Übergang vom ihnen zugewiesenen Storyboard erhalten, aber ich konnte keinen Weg finden, dies zu tun. Der "newSegue" von meinem BarButtonItem wird normal aufgerufen.prepareForSegue nicht von benutzerdefinierten uitableviewcell aufgerufen
override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
println("PREPARE FOR SEGUE")
if segue.identifier == "newSegue" {
println("PREPARE FOR NEW SEGUE")
} else if segue.identifier == "detailSegue" {
println("PREPARE FOR DETAIL SEGUE")
}
}
override func tableView(tableView: UITableView!, didSelectRowAtIndexPath indexPath: NSIndexPath!) {
println("You selected cell!")
}
Ich vermute, ich könnte etwas falsch zu machen, wenn meine benutzerdefinierte Zelle definiert:
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let CellIndentifier: NSString = "ListPrototypeCell"
var cell : MyTableViewCell = tableView.dequeueReusableCellWithIdentifier(CellIndentifier) as MyTableViewCell
var myClass: MyClass = self.myList.objectAtIndex(indexPath.row) as MyClass
cell.setCell(author: myClass.author, message: myClass.message)
return cell
}
Hilfe?
Haben Sie den Regler eingestellt, wo dieser Code als Delegierter der Tabellenansicht befindet (es sollte automatisch eingestellt werden, wenn die Klasse eine Unterklasse von UITableViewController ist)? Haben Sie Ansichten in der Zelle, die die Berührungen abfangen könnten? – rdelmar
Ja, ich habe es als Delegierten festgelegt. Die Zelle verfügt über eine benutzerdefinierte Ansicht, es ist jedoch nicht möglich, aus der Ansicht oder den Beschriftungen einen Übergang zu erstellen. – filipebarretto
Sie müssen eine Verbindung von der Zelle selbst herstellen, nicht von der Inhaltsansicht oder den Beschriftungen. Wenn Sie die Zelle nicht aus der Leinwand greifen können, gehen Sie zur Szenenliste auf der linken Seite und ziehen Sie aus der Zelle dort. – rdelmar