コンバージョンアプリを作成するためのヒントをたどりました。良かったのですが、さらに広げたいと思いました。華氏の値を入力してから摂氏に変換します。かなり基本的です。そのため、ケルビン変換も追加したいと思いました。ただし、このコードでは、華氏の番号をプラグインすることしかできません。したがって、ケルビンテキストフィールドを追加した後、どのテキストボックスにテキストが含まれているかを確認したいと思いました。だから私は次のコードを使用しました:
- (IBAction)convert:(id)sender
{
if ([fahrenheit isFirstResponder])
{
float x = [[fahrenheit text] floatValue];
float y = (x - 32.0f) * (5.0f/9.0f); //celcius
float z = y + 273.15f; //kelvin
[celcius setText:[NSString stringWithFormat:@"%3.2f" , y]];
[kelvin setText:[NSString stringWithFormat:@"%3.2f" , z]];
[fahrenheit resignFirstResponder];
} else if ([celcius isFirstResponder])
{
float x = [[celcius text] floatValue];
float y = 32.0f + ((9.0f/5.0f) * x); //farenheit
float z = x + 273.12f; //kelvin
[fahrenheit setText:[NSString stringWithFormat:@"%3.2f" , y]];
[kelvin setText:[NSString stringWithFormat:@"%3.2f" , z]];
[celcius resignFirstResponder];
}else if ([kelvin isFirstResponder])
{
float x = [[kelvin text] floatValue];
float y = x - 273.15f; //celcius
float z = 32.0f + ((9.0f/5.0f) * y); //farenheit
[celcius setText:[NSString stringWithFormat:@"%3.2f" , y]];
[fahrenheit setText:[NSString stringWithFormat:@"%3.2f" , z]];
[kelvin resignFirstResponder];
}
}
これにより、任意のテキストフィールドに数値を入力してから変換することができました。しかし、それから私はキーボードを閉じることにしました。私のコードはresignFirstResponderと言っています。しかし、最初の応答者がいなくなったため、変換アクションは機能しませんでした。どのテキストボックスにテキストが含まれているかを確認してから変換を行う方法についての手がかりはありますか?助けてくれてありがとう。