2013-05-17 19 views
8

iOS 6 xcode 4.6.2 sử dụng storyboardsLàm thế nào để tôi xác định TextField kích hoạt textFieldDidEndEditing trên động tạo UITableCell chứa 2 UITextFields

Hi guys vấn đề của tôi là thế này

Tôi đang sử dụng một động UITableView trong đó bao gồm một số lượng ô trong đó có hai ô là UITextFields. Hai lĩnh vực được định nghĩa trong một tế bào tùy chỉnh như

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

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

tôi muốn sử dụng

-(void) textFieldDidEndEditing:(UITextField*) textfield 

để có được các giá trị và lưu nó vào một cửa hàng dữ liệu cốt lõi.

Bây giờ, hiển nhiên, tôi có thể nhận được giá trị và gán nó ở nơi tôi thích vì tôi có con trỏ đến số textfield. Vấn đề của tôi là tôi không biết làm thế nào để xác định lĩnh vực trên cell này thực sự là. Tôi biết tôi có thể nhận được textfieldssuperview để xác định ô của nó trên đó, vì vậy tôi có thể tìm ra tập hợp lowRangeField và highRangeField, nhưng sau đó tôi bị kẹt

Tôi hy vọng đây là một điều đơn giản mà tôi mất tích vì tôi là một chút noob!

Cảm ơn đã dành thời gian để đọc và trả lời

Cheers

Simon

Trả lời

14

Vấn đề của tôi là tôi không biết làm thế nào để xác định được lĩnh vực trên các tế bào này thực sự là.

Sử dụng thẻ để xác định.

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

Vì vậy, tôi đoán rằng khi các tế bào này được tạo ra tự động trên một tableview tôi nên thiết lập các thẻ khi tế bào được tạo ra trong (UITableViewCell *) tableView: (UITableView *) tableView cellForRowAtIndexPath: (NSIndexPath *) indexPath. Điều đó có đúng không? – SimonTheDiver

+0

Nếu có hai trường trên ô của bạn và muốn xác định ô nào sẽ chỉnh sửa thì sẽ ổn. và khi nào để xác định mọi Trường mà bạn đã tạo trong Ứng dụng cũng có thể xác định trên cơ sở trên Ô. – Buntylm

+0

Chúc mừng Bunty - Tôi có quá ít tóc còn lại để được bóc nó ra trong thất vọng – SimonTheDiver

1

Hãy thử điều này một

này được sử dụng để xác định, trong đó văn bản lĩnh vực bạn đã nhập giá trị.

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

Làm thế nào nó khác với câu trả lời của Bunty ??? –

+0

Tôi nghĩ rằng không có gì nhưng bạn biết câu trả lời trên cùng một thời gian. Vì vậy, tôi đã thay đổi thẻ. –

+1

Chào mừng bạn thân yêu .... –

Các vấn đề liên quan