2012-01-14 56 views
1

objective-cの新機能です。この質問に対する回答はどこにも見つかりません。私は計算のためにIBActionを実行していますが、式から他のものと実際に等しくなるようにラベルからの入力が必要です。例えばIBAction float、入力に応じて同じ数字が異なる

-(IBAction)calculate; { 
    float a = 1.05 if ([label1.text] == 1in); 
     a = 2.07 if ([label1.text] == 2in); 
     a = 3.07 if ([label1.text] == 3in); 
    float b = a*([textField1.text floatValue]); 
     label2.text = [[NSString alloc] initWithFormat:@"%2.f", b]; 
    } 

私はそれが正しい得るためにも、近くにいないよ知っているが、私はあなたが私が探しているものにとアイデアを得る願っています。

ありがとうございました!

+1

私はあなたがしようとしていることを理解していません。コードサンプルは意味をなさないため、正しい構文ではありません。もう説明しようか? – jrturton

答えて

0
- (void)calculate { 
    float a; 
    if ([self.inputField.text isEqualToString:@"1in"])  a = 1.05f; 
    else if ([self.inputField.text isEqualToString:@"2in"]) a = 2.07f; 
    else if ([self.inputField.text isEqualToString:@"3in"]) a = 3.07f; 
    else a = 0.0f; 

    if (a) { 
    float b = a * ([self.inputField.text floatValue]); 
    self.inputField.text = [[NSString alloc] initWithFormat:@"%.2f", b]; 
    } 
    else self.inputField.text = @"Invalid"; 
} 

- (void)viewDidLoad 
{ 
    //... 

    self.inputField = [[UITextField alloc] initWithFrame:CGRectMake(10.0f, 20.0f, 300.0f, 30.0f)]; 
    [self.inputField setBackgroundColor:[UIColor grayColor]]; 
    [self.view addSubview:self.inputField]; 

    UIButton * doneButton = [[UIButton alloc] initWithFrame:CGRectMake(10.0f, 55.0f, 300.0f, 30.0f)]; 
    [doneButton setBackgroundColor:[UIColor blackColor]]; 
    [doneButton setTitle:@"Done" forState:UIControlStateNormal]; 
    [doneButton addTarget:self action:@selector(calculate) forControlEvents:UIControlEventTouchUpInside]; 
    [self.view addSubview:doneButton]; 
    [doneButton release]; 
} 

注:私はあなたがこのフォーマットを必要とするかもしれないと思い原因私は、%.2fに出力形式%2.fを置き換えます。例:

Input > 1in 
Output< 1.05 

Input > 2in 
Output< 4.14 

Input > 3in 
Output< 9.21 
+0

ありがとうございました! Kjuly!完璧に動作します! – user1148954

+0

@ user1148954あなたは大歓迎です:) – Kjuly

関連する問題