2013-05-17 5 views
8

iOS 6 Xcode 4.6.2 używając storyboardyJak mogę określić, które textField wyzwalane textFieldDidEndEditing na tworzone dynamicznie UITableCell zawierający 2 uiTextFields

Hi guys mój problem polega na tym

używam dynamicznego UITableView który składa się z liczba komórek, z których każda ma po dwa UITextFields. Oba pola są zdefiniowane w komórce niestandardowego jako

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

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

życzę używać

-(void) textFieldDidEndEditing:(UITextField*) textfield 

dostać się na wartościach i zapisać go w pamięci danych rdzenia.

Teraz, oczywiście, mogę uzyskać wartość i przypisać ją tam, gdzie mi się podoba, ponieważ mam wskaźnik do textfield. Mój problem polega na tym, że nie wiem, jak zidentyfikować to pole w rzeczywistości. Wiem, że można uzyskać textfieldssuperview określić, które jej na komórkę, więc mogę pracować który zestaw lowRangeField i highRangeField to ale potem utknąć

Mam nadzieję, że jest to prosta sprawa, że ​​jestem brakuje, bo jestem trochę noob!

Dzięki za poświęcenie czasu, aby czytać i odpowiadać

Cheers

Simon

Odpowiedz

14

Mój problem jest nie wiem jak określić, które pola na komórkę to faktycznie jest.

Użyj znacznika, aby zidentyfikować.

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

Więc myślę, że komórki te są tworzone dynamicznie na tableview należy ustawić znaczniki gdy komórka jest tworzony w (UITableViewCell *) tableView: (UITableView *) tableView cellForRowAtIndexPath: (NSIndexPath *) indexPath. Czy to prawda? – SimonTheDiver

+0

Jeśli w twojej komórce znajdują się dwa pola i chcesz określić, która z nich będzie widoczna, wszystko będzie dobrze. i kiedy zidentyfikować każde pole, które utworzyłeś w aplikacji, może również zidentyfikować na podstawie której komórki. – Buntylm

+0

Pozdrawiam Bunty - Mam za mało włosów, żeby je sfrustrować w frustracji – SimonTheDiver

1

Spróbuj ten

ten służy do identyfikacji, w którym tekst pola wprowadzeniu wartości.

- (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

Jak to jest inne niż odpowiedź Bunty? –

+0

Myślę, że nic, ale znasz odpowiedź w tym samym czasie. Więc zmieniłem tag. –

+1

Witaj drogi .... –

Powiązane problemy