2012-07-11 57 views
11

He creado un selector de muestra-vista que mostrará algunos detalles. Configuración del color de fondo con:UIPickerView personalizado con color de fondo personalizado

_pickerView.backgroundColor = [UIColor redColor]; 

parece que no funciona. Pero me gustaría poder crear una vista selector como la siguiente imagen

enter image description here

Lo que estaba tratando de hacer es, todo el color de fondo PickerView no debe ser de color blanco, se debe rellenar con el UIColor que voy a dar . ¿¿Es eso posible?? ¿Cómo se puede hacer?

+0

¿desea cambiar el selector de color seleccionado o el color de bg entero? – PJR

+0

Quiero cambiar el color BG entero que ahora es blanco. Incluso el color seleccionado (pero déjame hacer el BG más tarde también cambiaré el color seleccionado) – Perseus

+0

echa un vistazo al enlace publicado que resolverá tu problema. – Kuldeep

Respuesta

27

adición a la respuesta de Nina, a continuación son algunos de los buenos controles de vista Picker personalizada que será bueno para su uso en términos de rendimiento y personalizable.

  1. http://www.cocoacontrols.com/platforms/ios/controls/cppickerview
  2. http://www.cocoacontrols.com/platforms/ios/controls/afpickerview
  3. http://www.cocoacontrols.com/platforms/ios/controls/v8horizontalpickerview (Horizontal PickerView)
+0

http://heidibrebels.be/blog/archives/2012/custom-uipickerview-selectionindicator ¡Este es realmente genial! ¡¡Gracias por compartirlo!! – Nina

+0

@Nina: gracias ... Si realmente te gustó ... entonces puedes votar por esta respuesta ... – DShah

+0

Ja ja ... Hizo que el hombre :-) – Nina

1

Puede cambiar el color seleccionado colocando la celda tableview en él.

- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view { 
UITableViewCell *cell = (UITableViewCell *)view; 

if(cell == nil) { 
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil] autorelease]; 
    [cell setBackgroundColor:[UIColor redColor]]; 

    [cell setBounds: CGRectMake(0, 0, cell.frame.size.width -20 , 44)]; 
    cell.textLabel.text = [self.userNameArray objectAtIndex:row]; 
    cell.userInteractionEnabled = NO; 
} 

return cell; 
} 
+1

No No. Esto cambia el color rojo al no. de artículos presentes en el UIPicker. Si me desplazo hacia abajo.Al final, puedo ver que viene el color blanco. Solo quiero cambiar el color completo de BG de UIPickerView, que ahora es blanco. – Perseus

+0

mira esta respuesta http://stackoverflow.com/questions/965375/change-uipickerview-background – PJR

+0

http://stackoverflow.com/questions/1968288/how-to-change-the-background-color-in-uipickerview – PJR

0

UIPickerView tiene subvistas. Asignar una imagen a una vista y agregarla a la subvista en el índice 2, cambiaría el fondo de la vista de selección.

Tuve el mismo problema :-) ¡Mira mi pregunta aquí! Customize UIPickerView's Skin with images

O puede utilizar AFPickerView

0

La API no proporciona una manera de cambiar el estilo y el color del marcador de selección. Puede cambiar solo la vista interior del selector como desea diseñar. Como UIPickerView no tiene el UI_APPEARANCE_SELECTOR.

El enlace a continuación le ayudará. Custom iOS UIDatepicker using UIAppearance

1

Es difícil de personalizar un UIPickerView.

Puede optar por usarlo en su apariencia predeterminada o tratar de simular un UIPickerView utilizando otro componente de UIKit como UITableView. Hay algunas librerías que están utilizando UITableView para simular un UIPickerView más flexible.

Cuestiones relacionadas