bekommen Abschnitt-Nummer und Zeilen-Nummer auf benutzerdefinierte Zellen-button klicken?
habe ich tableview mit benutzerdefinierten Zelle.die Tabelle ist unterteilt in viele Abschnitt und Zeilen.ich habe eine benutzerdefinierte Schaltfläche auf der Zelle. jetzt möchte ich, um Abschnitt-Nummer und Zeilen-Nummer, wenn ich auf die Schaltfläche klicken.?
jede Idee zu diesem
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie implementieren ein UIControl event-handling-Methode auf Ihre view-controller, und setzen, die als handler für alle deine Tasten. D. H. die innerhalb Ihrer
-tableView:cellForRowAtIndexPath:
Funktion, die Sie tun würde, so etwas wie:Dann Ihre event-handler würde dann so Aussehen:
Ein paar Gedanken:
Können Sie Durchlaufen die Schaltfläche superview-Hierarchie, bis Sie finden eine UITableViewCell, dann rufen Sie - (NSIndexPath *)indexPathForCell:(UITableViewCell *)cell auf der UITableView.
Können Sie abwechselnd mit dem tag der Taste zum speichern eines index verweisen auf die Zeile. Diese enthält nur eine einzelne ganze Zahl, so macht es am meisten Sinn, wenn man ein Abschnitt, oder, wenn Sie die Verwaltung Ihrer Zeilen als flache Liste.
Können Sie abwechselnd Unterklasse UITableViewCell zu Kapseln, Sie die-Taste. Ihre UITableViewCell reagieren auf die Schaltfläche Ereignisse und rebroadcast ein Ereignis, um seine eigenen Delegierten, die übergabe selbst. Die Veranstaltung delegieren können, dann rufen Sie - (NSIndexPath *)indexPathForCell:(UITableViewCell *)cell auf der UITableView, um den index Weg.
Die folgende Methode wird aufgerufen, wenn Sie wählen Sie eine Zelle im tableView:
Zugriff auf die Nummer des Abschnitts:
int section = indexPath.section;
Zugriff auf die Nummer der Zeile (im richtigen Bereich):
int row = indexPath.row;
Den UITableView konvertieren kann einen CGPoint-Koordinate in eine indexPath:
Hinzufügen können Instanz-variable von Ihrem UITableViewCell subclassTo speichern der index-Pfad der Zelle:
Beim erstellen der Zelle, in:
pass in die indexpath auf das neu erstellte/Recycling-Zelle.
Nun, wenn Sie die Taste drücken, Lesen Sie einfach die indexpath aus der ivar Ihrer Zelle.