Ich habe eine Sicht, die eine UITableView enthalten. Die Zellen dieses UITableView werden im Interface Builder erstellt, um verschiedene Arten von Zellen zu erhalten. So wird die Aktion jeder Schaltfläche in den folgenden Zellklassen verwaltet.Holen Sie die UITableViewCell indexPath mit benutzerdefinierten Zellen
- My UITableView verschiedene Arten von Zellen enthält:
- Die Header-Datei von meiner Klasse für Typ einer Zellen ("CellTypeOne.h"):
@interface CellTypeOne : UITableViewCell
{
}
- (IBAction)actionForFirstButton:(id)sender;
- (IBAction)actionForSecondButton:(id)sender;
- (IBAction)actionForThirdButton:(id)sender;
- (IBAction)actionForFourthButton:(id)sender;
- Die Header-Datei von meiner Klasse für Typ zwei Zellen ("CellTypeTwo.h"):
@interface CellTypeTwo : UITableViewCell
{
}
- (IBAction)actionForTheUniqueButton:(id)sender;
- Die Ansicht, die meine Tabellenansicht ("ViewContainingMyTableView.h") enthalten :
@interface ViewContainingMyTableView : UIViewController <UITableViewDelegate, UITableViewDataSource>
{
UITableView *myTBV;
}
@property (retain, nonatomic) IBOutlet UITableView *myTBV;
@end
Hier ist die Sache, die ich tun möchte:
Wenn ich zum Beispiel auf die erste Schaltfläche in der ersten Zelle klicke, möchte ich in der Lage sein, den IndexPath der "aktuellen" Zelle anzuzeigen.
Zum Beispiel mag ich die folgende Ausgabe haben, wenn:
- ich auf dem ersten Knopf klicken in der ersten Zelle:
0
- ich in der ersten Zelle auf der dritten Schaltfläche klicken:
0
- ich auf die erste und einzige Taste in der zweiten Zelle:
1
- etc ...
Haben Sie indexPath der Zelle auf Klick auf den Button benötigen? –
Ja, ich brauche den IndexPfad der Zelle, die die angeklickte Schaltfläche enthalten. –
@ Erzékiel einfach einen Delegaten in die benutzerdefinierte Zelle setzen und jedes Mal, wenn Sie auf die Schaltfläche in der benutzerdefinierten Zelle klicken, lösen Sie die Delegate-Methode zu ViewController in dort können Sie die Superview als Ihre benutzerdefinierte Zelle und erhalten Indexpfad der ausgewählten Zelle –