2013-05-17 7 views
8

iOS 6 Xcode 4.6.2 utilizzando storyboardCome faccio a identificare quali textField innescato textFieldDidEndEditing sul creata dinamicamente UITableCell contenente 2 uiTextFields

Ciao ragazzi il mio problema è questo

Sto usando una dinamica UITableView che consiste in un numero di celle ognuna delle quali ha due UITextFields su di esse. I due campi sono definiti in una cella personalizzata come

@property (strong, nonatomic) IBOutlet UITextField *lowRangeField; 

@property (strong, nonatomic) IBOutlet UITextField *highRangeField; 

desidero utilizzare

-(void) textFieldDidEndEditing:(UITextField*) textfield 

per ottenere i valori e salvarlo in un archivio dati centrale.

Ora, ovviamente, posso ottenere il valore e assegnarlo dove mi piace perché ho il puntatore del textfield. Il mio problema è che non so come identificare quale campo sul cell è effettivamente. So che posso ottenere il textfieldssuperview per identificare quali cellule la sua via, in modo che io possa capire quale set di lowRangeField e highRangeField non è che poi mi si blocca

Spero che questo è una cosa semplice che io sono manca perché sono un po 'noob!

Grazie per aver il tempo di leggere e rispondere

Acclamazioni

Simon

risposta

14

il mio problema è che non so come identificare quale campo sulla cellula questo in realtà è.

Utilizzare il tag per identificare.

lowRangeField.tag = 1; 
highRangeField.tag = 2; 


-(void) textFieldDidEndEditing:(UITextField*) textfield 
{ 
if (textField.tag == 1) { 
NSLog(@" clicked in lowRangeField"); 

} else if (textField.tag ==2) { 
NSLog(@" clicked in highRangeField"); 
} 
} 
+0

Quindi credo che, come queste cellule vengono creati dinamicamente su un Tableview devo impostare i tag quando si crea la cellula (UITableViewCell *) tableView: (UITableView *) tableView cellForRowAtIndexPath: (NSIndexPath *) indexPath. Sarebbe giusto? – SimonTheDiver

+0

Se nella cella sono presenti due campi e si desidera identificare quale modifica, ciò andrà bene. e quando identificare Ogni campo che hai creato in App può anche identificare in base a quale cella. – Buntylm

+0

Cheers Bunty - Ho ancora pochi capelli per farla frullare per la frustrazione – SimonTheDiver

1

provare questo

Questo viene utilizzato per identificare in quale campo di testo immesso valore.

- (void)viewDidLoad 
{ 
    lowRangeField.tag = 100; 
    highRangeField.tag = 200; 
} 

-(void) textFieldDidEndEditing:(UITextField*) textfield 
{ 
    if (textField.tag == 100) 
    { 
     NSLog(@" clicked On lowRangeField"); 

    } 
    else if (textField.tag ==200) 
    { 
     NSLog(@" clicked On highRangeField"); 
    } 
} 
+0

Com'è diverso dalla risposta di Bunty ??? –

+0

Penso nient'altro ma tu conosci la risposta allo stesso tempo. Quindi ho cambiato tag. –

+1

Benvenuto caro .... –

Problemi correlati