Ich habe Schaltflächen in der Zelleninhaltsansicht erstellt. Ich möchte erkennen, für welche Zeile der Button angeklickt wird.Ermitteln Sie den Wert der Zellenzeile beim Tippen auf eine Schaltfläche in dieser Zelle im iPhone?
Ermitteln Sie den Wert der Zellenzeile beim Tippen auf eine Schaltfläche in dieser Zelle im iPhone?
Antwort
Sie benötigen, um Ihre UIViewController
das Ereignis empfangen durch eine ziel Aktion aus dem UIButton
zum UIViewController
, wie dies zu schaffen:
[button addTarget:self action:@selector(cellButtonClicked:) forControlEvents:UIControlEventTouchUpInside];
Dann in Ihrer UIViewController
‚s Aktion Methode können Sie verwenden die UITableView
s indexPathForCell:
Methode die richtige NSIndexPath
zu erhalten:
- (void) cellButtonClicked: (id) sender {
UIButton *btn = (UIButton *) sender;
UITableViewCell *cell = (UITableViewCell *) [[btn superview] superview];
NSIndexPath *indexPath = [self.tableView indexPathForCell:cell];
//do something with indexPath...
}
zustimmen Will, Sie haben t o iterieren in iOs7
Dies ist eine Alternative, die nicht umfällt, wenn Apple die Ansichtshierarchie ändert. Grundsätzlich finden Sie den Ursprung der Schaltfläche im Koordinatensystem der Tabellenansicht. Sobald Sie wissen, dass Sie die NSIndexPath
der Reihe finden können, die die point
in ist.
- (void)buttonTapped:(UIButton *)button
{
CGPoint buttonOrigin = [button convertPoint:CGPointZero toView:self.tableView];
NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint:buttonOrigin];
}
können Sie erreichen, dass mit einer einfacheren Lösung. In den meisten Fällen repräsentiert jede Zelle ein Objekt innerhalb eines Arrays. Sie müssen daher in der benutzerdefinierten Zellenklasse eine Eigenschaft definieren, die eine Zellen-ID (in Ihrem Array) oder die Zellen-ID darstellt, die auf dem Server definiert ist DB und wenn die Schaltfläche angetippt wurde, können Sie es leicht über self.id
- ID die Cell ID Eigenschaft erhalten.
- 1. Tippen Sie auf eine benutzerdefinierte Schaltfläche der UITableViewCell?
- 2. Ändern der Textfarbe einer Schaltfläche beim Tippen
- 3. Tippen Sie auf Schaltfläche unter HTML-Element
- 4. Ermitteln von Benutzer tippen auf lokale Benachrichtigung
- 5. wie Sie expectationForPredicate verwenden und auf eine Schaltfläche tippen
- 6. Schaltfläche in (statischer) Zelle verschwindet, wenn Sie auf die Zelle selbst anstelle der Schaltfläche klicken
- 7. Wie Zelle wischen beim Klicken auf eine Schaltfläche
- 8. So ermitteln Sie den Index der aktuell formatierten TableView-Zelle
- 9. Tippen Sie auf UISlider, um den Wert festzulegen
- 10. Wählen Sie eine Zeile in TStringGrid aus, indem Sie auf eine Zelle in dieser Zeile klicken.
- 11. Ermitteln der iPhone-App auf dem iPad im Kompatibilitätsmodus
- 12. Schaltfläche in der Tabellenansicht Zelle
- 13. Verwenden Sie eine Schaltfläche, um den Wert in einem Formular
- 14. iOS - Wie auf benutzerdefinierte Zelle zugreifen, wenn Griff Schaltfläche Ereignis in dieser Zelle?
- 15. Wenn Zelle a = Wert in Spalte b kopieren und speichern Sie den Wert der Zelle c
- 16. iphone - ein Verweis auf eine Zelle
- 17. Ermitteln der Internetverfügbarkeit auf dem iPhone?
- 18. Höhe der einzelnen Tabellenansichtszelle beim Tippen erhalten?
- 19. Tippen Sie auf die aktuelle Registerkarte (UITabBarController) iPhone App
- 20. den Wert der Zelle in JTable nach einem Klick auf die Schaltfläche bearbeiten
- 21. iphone Tastatur versteckt nicht, wenn auf den Bildschirm tippen
- 22. Wie ScrollView auf den Klick der Schaltfläche im iPhone SDK horizontal scrollen
- 23. Drehen Sie eine UI-Schaltfläche im iPhone SDK
- 24. Tippen Sie in cocos2d?
- 25. Galerie im Simulator öffnen auf Bild tippen
- 26. Farbe der Schaltfläche in DataGridView-Zelle ändern
- 27. Anwenden von Stil auf eine Zelle basierend auf der Bedingung/Wert einer anderen Zelle in Handsontable
- 28. Flip-Ansichten im iPhone?
- 29. Setzen Sie den Fokus auf eine bestimmte DataGrid-Zelle
- 30. Zugriff auf den Label-Wert außerhalb der Tabellenansicht beim Klicken auf die Schaltfläche Zurücksetzen auf Null IOS
Ich bekomme den Indexpfad korrekt .... tank u Jacob – Hari1251
Diese Methode funktioniert nicht mehr wie vorgesehen in iOS 7, da es jetzt mehr Ansichten in UITableViewCells gibt. Ich habe UITableViewCellScrollView's anstelle von Zellen mit diesem Code in regelmäßigen Abständen zurückgegeben. – Will