我有一个iphone应用程序,其中我有两个文本字段,我有四种方法来调用那些文本字段,但问题是,当我更改textfield的值时,第二种方法中的第一种方法显示相同的值
-(void)textFieldTextDidChangeOneF:(UITextField*)tf{
NSLog(@"Testing Successful Fatal One");
appDelegate.p_Fatal_Yes_NV_InModel = [[textFieldOne text] floatValue];
appDelegate.p_Fatal_No_NV_InModel=100-appDelegate.p_Fatal_Yes_NV_InModel;
textFieldTwo.text=[NSString stringWithFormat:@"%.2f",appDelegate.p_Fatal_No_NV_InModel];
NSCharacterSet * set = [[NSCharacterSet characterSetWithCharactersInString:@"0123456789."] invertedSet];
NSString*string=textFieldOne.text;
if ([string rangeOfCharacterFromSet:set].location != NSNotFound) {
UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"Warning" message:@"Only a number can be entered into this input field " delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
[alert release];
textFieldOne.text=@"";
}
NSLog(@"Fata Data %.2f",appDelegate.p_Fatal_Yes_NV_InModel);
}
我正在更改此方法中的值,但也会更改值,我认为问题可能会在同一文本字段上调用不同的方法。
这是完整代码的代码链接
我有两个文本字段,但我在它们上面调用了四种方法
答案 0 :(得分:2)
尝试在tag
上使用UITextField
属性。
首先以编程方式或在xib中为您的TextField分配标签(如果有)。 实施例
[txtFieldOne setTag:100];
[txtFieldTwo setTag:101];
然后使用
标记区分文本字段上的操作-(void)textFieldTextDidChangeOneF:(UITextField*)tf
{
switch (tf.tag) {
case 100:
NSLog(@"action on text field one");
break;
case 101:
NSLog(@"action on text field two");
break;
default:
break;
}
}