0

私は 3 つのテキスト ボックスと計算ボタンを持っています。ボタン ウィッチ テキスト ボックスが選択されていることをどのように確認し、数値を他のテキスト ボックスに変換できますか。テキスト ボックス 1、2、3 にタグを付けました。私は非常に新しく、プログラミングに慣れています。どんな助けでも素晴らしいでしょう。これは私のコードです

- (IBAction)Calculate:(id)sender {
    NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];

    float a = [[numberFormatter numberFromString:_Barrels.text] floatValue];
    float b = [[numberFormatter numberFromString:_Gallons.text] floatValue];
    float c = [[numberFormatter numberFromString:_Liters.text] floatValue];


    _Barrels.text = [[NSString alloc]initWithFormat:@"% .2f", a];
    _Gallons.text = [[NSString alloc]initWithFormat:@"% .2f", a * 42];
    _Liters.text = [[NSString alloc]initWithFormat:@"% .2f", a * 159];

    _Barrels.text = [[NSString alloc]initWithFormat:@"% .2f", b * .0238];
    _Gallons.text = [[NSString alloc]initWithFormat:@"% .2f", b];
    _Liters.text = [[NSString alloc]initWithFormat:@"% .2f", b * 3.785];

    _Barrels.text = [[NSString alloc]initWithFormat:@"% .2f", c * .0063];
    _Gallons.text = [[NSString alloc]initWithFormat:@"% .2f", c * .264];
    _Liters.text = [[NSString alloc]initWithFormat:@"% .2f", c];

    switch ([sender tag]) {
        case 1:
            [_Barrels resignFirstResponder];
            [_Gallons resignFirstResponder];
            [_Liters resignFirstResponder];
            break;
        default:
            break;
    } 
4

2 に答える 2

1

ViewController.h ファイルで変数/フラグを取得して、最後に選択したテキストフィールドを保存します

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController<UITextFieldDelegate>
{
    int textfieldFlag;
}

@end

ViewController.m ファイルで textfieldDelegate メソッドを実装します

-(void)textFieldDidBeginEditing:(UITextField *)textField 
{     
    textfieldFlag=textField.tag;
}

それからあなたの中で

 - (IBAction)Calculate:(id)sender
{
   //ABove Code....   

    if(textfieldFlag==1){
    _Barrels.text = [[NSString alloc]initWithFormat:@"% .2f", a];
    _Gallons.text = [[NSString alloc]initWithFormat:@"% .2f", a * 42];
    _Liters.text = [[NSString alloc]initWithFormat:@"% .2f", a * 159];
   }
if(textfieldFlag==2){
    _Barrels.text = [[NSString alloc]initWithFormat:@"% .2f", b * .0238];
    _Gallons.text = [[NSString alloc]initWithFormat:@"% .2f", b];
    _Liters.text = [[NSString alloc]initWithFormat:@"% .2f", b * 3.785];
   }
if(textfieldFlag==3){
    _Barrels.text = [[NSString alloc]initWithFormat:@"% .2f", c * .0063];
    _Gallons.text = [[NSString alloc]initWithFormat:@"% .2f", c * .264];
    _Liters.text = [[NSString alloc]initWithFormat:@"% .2f", c];
   }

   //Below Code...

}

それに応じて使用しtextfieldFlagます。

textfieldFlag最後に選択/編集されたテキストフィールドのフラグが含まれます

于 2013-05-14T12:36:18.500 に答える
0

[計算] ボタンをタップすると、このメソッドを呼び出す必要があります- (void)textFieldDidEndEditing:(UITextField *)textField。ここで、tagValue を確認して編集したテキスト フィールドを特定し、それに従って計算を行います。それ以外の場合は、必ずテキストフィールドのデリゲートを追加してください - (void)textFieldDidEndEditing は呼び出されません。

于 2013-05-14T12:37:54.917 に答える