2014-09-23 73 views
1

UITableViewCell單元格中有多個uitextfield,因此如何確定哪些文本字段在uitextfield委託方法中生成標記屬性以外的操作?UITableViewCell中的UITextField唯一性

+0

使用標記屬性。或者比較地址。 – 2014-09-23 12:21:37

回答

2

是您的文本字段是一個類的成員?或者在方法內創建。如果您的文本字段是一個成員變量,你可以通過檢查:

- (void) textFieldDidEndEditing:(UITextField *)textField 
{ 
if ([textfield isEqual:m_yourTextField]) 
{ 

} 
} 

這樣,你不需要使用標籤。 :d

+0

差不多,但檢查指針是否相同,請不要使用isEqual方法:textfield == m_yourTextField。 – 2014-09-23 12:30:31

+0

謝謝,但如果textfield是動態創建的,而不是類的成員在這種情況下該怎麼辦? – 2014-09-23 12:31:32

+0

嗯..您可以在委託方法獲得文本框後分配它。例如: - (void)textFieldDidEndEditing:(UITextField *)textField {m_textFieldSelected = textField; }。你可以在你的類上使用m_textFieldSelected。另外,你想做什麼。所以我們可以用其他方式來簡化它 – 2014-09-23 13:05:13

0

可以在cellForRowAtIndexPath:分配特定文本框的標籤值(如指定indexPath.row)作爲標籤值,並把條件它uitextfield委託方法

0

檢查下面的代碼:

在你cellForRowAtIndexPath

[cell.yourtextField setTag:indexPath.row]; 

[cell.yourtextField addTarget:self action:@selector(textClicked:) 
     forControlEvents:UIControlEventTouchUpInside]; 

然後

-(void)textClicked:(UITextFiled*)txt 
{ 
    NSLog(@"viewbuttonClicked:%ld",(long int)[txt tag]); 


} 
0
- (void) textFieldDidEndEditing:(UITextField *)textField{ 
    if (textField == _txtPhone) { 
    //Phone text field 
    } 
} 
+0

你可以添加更多的上下文嗎?沒有解釋,答案並不值得。 – lxg 2014-09-23 13:34:58

+0

當然。如果你只是想檢查文本字段,並且沒有標籤,而不是創建一個文本字段的變量,並直接比較它作爲上面的例子中顯示。 – torap 2014-09-23 17:29:44

相關問題