私のアプリは、多成分ピッカーホイールを備えたコンバーターです。いくつかの変数を変換するために作られています。表示される数値はテスト用であり、特に重要なものではありません。
- (void)viewDidLoad
{
[super viewDidLoad];
_convertFrom = @[@"One (1)", @"Two (2)",
@"Three (3)", @"Four (4)", @"Five (5)"];
_convertRates = @[ @1.0f, @2.0f, @3.0f,
@4.0f, @5.0f];
_convertTo = @[@"One (1)", @"Two (2)",
@"Three (3)", @"Four (4)", @"Five (5)"];
_convertRates = @[ @1.0f, @2.0f, @3.0f,
@4.0f, @5.0f];
}
iOS6シミュレーターでアプリをテストしたときに表示される数値に小さな問題があります。あなたがここで見ることができるように:
リストを下に行こうとすると、数字が変わります。しかし、それらの価値はそうではありません。誰かがそれをチェックして解決策を見つける時間があれば、それは非常に役に立ちます:)
この場合に重要になる可能性のある残りのコードは次のとおりです。
#pragma mark -
#pragma mark PickerView DataSource
- (NSInteger)numberOfComponentsInPickerView:
(UIPickerView *)pickerView
{
return 2;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent: (NSInteger)component
{
if (component == 0) {
return [_convertFrom count];
}
return [_convertTo count];
}
- (NSString *) pickerView: (UIPickerView *)pickerView
titleForRow:(NSInteger)row
forComponent:(NSInteger)component
{
if (component == 0) {
return [_convertFrom objectAtIndex:[pickerView selectedRowInComponent:0]];
}
return [_convertTo objectAtIndex:[pickerView selectedRowInComponent:1]];
}
#pragma mark -
#pragma mark PickerView Delegate
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row
inComponent:(NSInteger)component
{
float convertFrom = [[_convertRates objectAtIndex:[pickerView selectedRowInComponent:0]] floatValue];
float convertTo = [[_convertRates objectAtIndex:[pickerView selectedRowInComponent:1]] floatValue];
float input = [dollarText.text floatValue];
float to = convertTo;
float from = convertFrom;
float dollars = input;
float result = to * from * dollars;
float mtpaTilMtpaFloat = dollars * 1;
NSString *resultString = [[NSString alloc] initWithFormat:
@"result = %.2f * %.2f = %.2f", from, to, result];
resultLabel.text = resultString;
NSString *mtpaTilmtpa = [[NSString alloc ] initWithFormat:
@" %.2f MTPA = %.2f MTPA", dollars, mtpaTilMtpaFloat];
if (from == 1, to == 1) { resultLabel.text = mtpaTilmtpa;
}
そしてもちろん、理解できるようにコードをもっと表示する必要があるかどうか教えてください。ところで、このウェブサイトを使うのは初めてです:)