Mi aplicación es un convertidor con una rueda selectora multicomponente. Está hecho para convertir algunas variables. Los números que puedes ver son solo para probar, nada importante realmente.UIPickerView muestra títulos incorrectos
- (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];
}
Tengo un pequeño problema con los números que se muestran cuando pruebo la aplicación en el simulador de iOS 6. Como se puede ver aquí:
Cuando trato de ir abajo en la lista, los números cambian. Pero el valor de ellos no. Si alguien ha llegado el momento para comprobar hacia fuera y tal vez encontrar una solución que sería muy útil :)
aquí es el resto del código que podría ser importante en este caso:
#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;
}
Y por supuesto, dime si necesito mostrar más código para que puedas entenderlo. es la primera vez que uso este sitio web por cierto :)