iphone - cocoa touch tutorial
¿Cómo cambio el tamaño del texto y el ancho del componente de un UIPickerView? (1)
Tengo el siguiente código para crear un UIPickerView:
pickerView = [[UIPickerView alloc] initWithFrame:CGRectMake(0.0f, 416.0f - height, 320.0f, height)];
pickerView.delegate = self;
pickerView.showsSelectionIndicator = YES;
[pickerView setSoundsEnabled:YES];
Me gustaría cambiar el ancho de los componentes y cambiar el tamaño del texto en cada componente. ¿Es posible hacer esto?
¡Gracias!
Puede cambiar el ancho mediante un método de delegado apropiado
- (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component {
switch(component) {
case 0: return 22;
case 1: return 44;
case 2: return 88;
default: return 22;
}
//NOT REACHED
return 22;
}
En cuanto a un tamaño de texto personalizado, puede usar el delegado para devolver vistas personalizadas con el tamaño de texto que desee:
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view {
UILabel *retval = (id)view;
if (!retval) {
retval= [[[UILabel alloc] initWithFrame:CGRectMake(0.0f, 0.0f, [pickerView rowSizeForComponent:component].width, [pickerView rowSizeForComponent:component].height)] autorelease];
}
retval.text = @"Demo";
retval.font = [UIFont systemFontOfSize:22];
return retval;
}
Por supuesto, tendrá que modificar estos para tener los valores adecuados para su aplicación, pero debe llevarlo a donde necesita ir.