2010-01-25 17 views
11

Ich versuche, den Klick einer Zubehörtaste in einer UITableView mit einer Methode in einer bestimmten Klasse zu verknüpfen. Das Accessoire befindet sich auf mehreren Zellen, die im Code erstellt wurden. Daher kann ich nicht einfach einen einfachen Link im Interface Builder erstellen, wie ich es gewohnt bin.iPhone UITableView - Aktion auf Zubehör klicken

Wie verknüpfe ich einen Zubehörpfeil (vom Ende einer Zelle in einer UITableView) mit einer Methode?

Antwort

29

Überprüfen Sie die tableView:accessoryButtonTappedForRowWithIndexPath: Methode auf der UITableViewDelegate.

+1

perfekt danke. – oberbaum

+0

Diese Methode wird nicht aufgerufen, wenn eine Zubehöransicht für die Zeile in IndexPath festgelegt ist. – commando24

0

Dies ist nicht mehr gültig, Xcode kennzeichnet eine Warnung, dass es nun depreiiert wird;

WARNUNG: Legacy-Zellenlayout aufgrund der delegierten Implementierung von tableView: accessoryButtonTappedForRowWithIndexPath: in. Bitte entfernen Sie Ihre Implementierung dieser Methode und legen Sie die Zelleneigenschaften accessoryType und/oder editingAccessoryType fest, um zum neuen Zellenlayoutverhalten zu wechseln. Diese Methode wird in einer zukünftigen Version nicht mehr aufgerufen. Siehe hier: https://developer.apple.com/documentation/uikit/uitableviewdelegate

+1

Kann dies nicht reproduzieren. Es ist nicht als veraltet markiert in [https://developer.apple.com/library/ios/#documentation/uikit/reference/UITableViewCell_Class/Reference/Reference.html](iOS developer-class-reference) und ich habe eine neue Warnung bekommen in Monodevelop (2.8.6.5, MonoTouch 5.2.5, Xcode 4.2.1) entweder ... – basti

+0

stimme ich @chiffre zu. [UITableViewDelegate Protocol Reference] (https://developer.apple.com/library/ios/documentation/uikit/reference/UITableViewDelegate_Protocol/Reference/Reference.html) listet 'tableView: accessoryButtonTappedForRowWithIndexPath' nicht als abgeschrieben auf. –

+1

Es ist * Tapped *, nicht * Typ * – kabiroberai

Verwandte Themen