UITextField Unteransicht von UITableViewCell, get IndexPfad der Zelle

8

Ich habe UITextField als Unteransicht von UITableViewCell hinzugefügt. Dann habe ich eine target und selector hinzugefügt, so dass ich wissen kann wann UIControlEventEditingChanged . Das funktioniert großartig, aber ich würde gerne wissen, dass indexPath der Zelle, in der UITextField ist, da es zu einer beliebigen Anzahl von Zellen hinzugefügt werden kann.

Ist das möglich? Im Grunde möchte ich die übergeordnete Ansicht finden, die ein UITableViewCell ist.

    
Nic Hubbard 06.03.2012, 03:10
quelle

4 Antworten

21

Rufen Sie [UIView superview] auf dem Feld auf, um die Zelle zu erhalten, in der es sich befindet, und rufen Sie [UITableView indexPathForCell:] in der Zelle auf, um den Indexpfad zu erhalten.

UPDATE: Unter iOS 7 müssen Sie auch Superview für diese Ansicht aufrufen (zusätzliche Ansichtsebene); Hier ist eine Kategorie in UITableView, die unabhängig von der iOS-Version funktionieren sollte:

%Vor%     
Ertebolle 06.03.2012, 03:11
quelle
11

Anstatt rekursiv den Superview zu finden, gibt es eine einfachere Lösung:

Schnell

%Vor%

Ziel-C

%Vor%

Ich machte dies zu einem Gist für die Swift-Herzen

    
Daniel Galasko 14.01.2015 07:47
quelle
0

Versuchen Sie diese Lösung. Es funktionierte für mich

%Vor%     
svmrajesh 05.06.2015 09:39
quelle
0

Ich möchte @Ertebolle code in swift teilen -

%Vor%     
Anupam Mishra 25.07.2016 13:54
quelle