Ich möchte einen Übergang von einer Schaltfläche innerhalb einer benutzerdefinierten UITableViewCell ausführen, aber ich weiß nicht, wie auf den Inhalt der Zelle zuzugreifen, wenn ich diese Schaltfläche drücken. Ich weiß, dass dies durch didSelectRowAtIndexPath erreicht werden könnte, aber ich habe diese Methode, die eine andere Funktion ausführt, und ich möchte die Schaltfläche verwenden, die ich in der Tabellenzelle erstellt habe.Einen Übergang von einer Schaltfläche innerhalb einer benutzerdefinierten UITableViewCell ausführen
Hier ist meine ausführen segue Methode, die ich habe Probleme mit:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?)
{
if segue.identifier == "showComments"
{
let vc:CommentOnPostViewController = segue.destinationViewController as CommentOnPostViewController
var buttonPosition:CGPoint = sender?.convertPoint(CGPointZero, toView: self.feed) as CGPoint!
var path:NSIndexPath = self.feed.indexPathForRowAtPoint(buttonPosition) as NSIndexPath!
var postToCommentOn:PFObject = feedList[path.row] as PFObject
vc.post = postToCommentOn as PFObject
}
}
ich den Knopf in der Zelle markieren, wenn es angezeigt wird, und ihm eine Zielaktion geben:
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
// There is code that goes here for creating and displaying the cell.
cell.commentButton.tag = indexPath.row
cell.commentButton.addTarget(self, action: "addComment", forControlEvents: UIControlEvents.TouchUpInside)
}
Hier ist die Aktion, die beim Drücken der Taste aufgerufen wird:
func addComment()
{
self.performSegueWithIdentifier("showComments", sender: self)
}
Jede Hilfe wird geschätzt. Vielen Dank!
Kannst du nicht selbst übergeben, aber die Schaltfläche oder die Zelle als Absender? –
Verwenden Sie einen Delegaten, um so etwas zu erreichen.Der Delegat wird in der CustomCell-Klasse definiert, und auf dem TableViewController wird der Delegat jeder Zelle festgelegt. Definieren Sie auf dem UITableViewController die Methode des Delegaten, der Sie self aufruft. performSegueWithIdentifier ... Nur aus Neugier was machst du mit "didSelectRowAtIndexPath"? –