7

我在使用情节提要的 iOS 6 xcode 4.6.2 上。

我正在使用一个动态UITableView的,它由许多单元格组成,每个单元格上有两个UITextFields。这两个字段在自定义单元格中定义为

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

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

我想用

-(void) textFieldDidEndEditing:(UITextField*) textfield

获取值并将其保存到核心数据存储中。

现在,显然,我可以获取该值并将其分配到我喜欢的位置,因为我有指向textfield. 我的问题是我不知道如何确定cell这实际上是哪个字段。我知道我textfields superview可以确定它在哪个单元格上,所以我可以计算出它是哪一组 lowRangeField 和 highRangeField 但后来我卡住了。

4

3 回答 3

17

我的问题是我不知道如何识别这实际上是单元格上的哪个字段。

使用标签来识别。

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");
}
}
于 2013-05-17T11:52:55.413 回答
1

试试这个

这用于识别您在哪个文本字段中输入了 value 。

- (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");
     }
}
于 2013-05-17T11:55:54.750 回答
0

如果您在 ViewController 中引用了两个(或更多)字段(作为属性),则可以通过以下方式区分它们:

- (void) textFieldDidEndEditing:(UITextField *)textField {
if (textField==self.lowRangeField)
//do something
if (textField==self.highRangeField)
// do something else
}
于 2020-04-29T11:01:17.237 回答