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é