如何在iphone应用程序中的两个UITextfields上调用不同的方法

时间:2013-03-28 03:56:58

标签: iphone uitextfield

我有一个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);
    }

我正在更改此方法中的值,但也会更改值,我认为问题可能会在同一文本字段上调用不同的方法。

这是完整代码的代码链接

我有两个文本字段,但我在它们上面调用了四种方法

http://paste.bradleygill.com/index.php?paste_id=4011

1 个答案:

答案 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;
    }
}