iphone ios ios7 uipickerview

iphone - ¿Cómo configurar el color de fondo de UIPickerView en iOS 7 con SDK 7?



ios7 (6)

A pesar de que configuré UIPickerView.backgorundColor , tuve un color de fondo extraño.

Eliminar la siguiente línea solucionó el problema:

UITextField.keyboardAppearance = .dark

O simplemente restablece la apariencia del keyboardAppearance a sus valores predeterminados, así:

UITextField.keyboardAppearance = .default

¿Cómo configurar el color de fondo de UIPickerView en iOS 7 con SDK 7 y usar un selector estándar en iOS 5 y 6 ? Es transparente por defecto en iOS 7.


Esto me funcionó, en iOS 7.1:

[[UIPickerView appearance] setBackgroundColor:[UIColor whiteColor];

Esto cambia el color de todos los recolectores. Puede poner un condicional a su alrededor si solo quiere que esto se ejecute en dispositivos con iOS 7.


He añadido UIView bajo UIPickerView con código:

CGRect framePickerView = CGRectMake(0, self.view.frame.size.height, self.view.frame.size.width, 216); pickerView = [[[UIView alloc] initWithFrame:framePickerView] autorelease]; pickerView.backgroundColor = [UIColor whiteColor]; [self.view addSubview:pickerView]; [pickerView addSubview:picker];

en su lugar el código:

[self.view addSubview:picker];


Para cualquier persona que trabaje en Swift, y que potencialmente utilice múltiples recolectores:

pickerView1.backgroundColor = UIColor.darkGrayColor() pickerView2.backgroundColor = UIColor.greenColor()

Xcode 7.3


Qué hay de malo en:

[picker setBackgroundColor:[UIColor whiteColor]];

Supongo que tiene una referencia a la vista del selector si lo está invocando, y es una subclase de UIView, por lo que backgroundColor es una propiedad válida ...


Quería escribirlo como un comentario, pero sería difícil de leer :) Muy bien ...

-(UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view { UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 50, 44)]; // your frame, so picker gets "colored" label.backgroundColor = [UIColor lightGrayColor]; label.textColor = [UIColor blackColor]; label.font = [UIFont fontWithName:@"HelveticaNeue-Bold" size:18]; label.text = [NSString stringWithFormat:@"%d",row]; return label; }

Además, no tiene que ser solo una etiqueta, creo que también puede insertar otras subvistas allí ... Funciona en iOS7 por lo que sé