2014-09-23 72 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

相关问题