tutorial iphone cocoa-touch

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.