如何使用UIAppearance设置UIPickerView的背景颜色?

时间:2015-12-24 21:11:32

标签: ios objective-c uipickerview

我使用以下代码行来更改整个应用中UIPickerView的背景颜色,就像应用中的主题一样。这没有任何改变。

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

我也尝试过以下一行,但这会给出一个看起来很糟糕的怪异阴影背景。

[[UIView appearanceWhenContainedInInstancesOfClasses:@[[UIPickerView class]]] setBackgroundColor: [UIColor darkGrayColor]];

以上是上述行显示的图片: enter image description here

我希望背景颜色为纯色。

问题是,如何使用UIPickerView更改整个应用中UIAppearance的背景颜色?

3 个答案:

答案 0 :(得分:3)

Swift 3.0:

我设法使用方法func numberOfComponents (in pickerView: UIPickerView) -> Int解决了这个问题:

func numberOfComponents(in pickerView: UIPickerView) -> Int {
    pickerView.backgroundColor = UIColor.blackDark
    return 1
}

答案 1 :(得分:0)

我已尝试过代码请看看,

 self.pickerView.backgroundColor=[UIColor grayColor];

这段代码对我很有用。

万一它不适合你, 我会建议另一种方法来改变背景颜色。

拖动UIView并具有与UIPickerView相同的大小, 还可以选择UIView颜色的颜色(您想要作为背景的颜色)。 在该视图中拖放选择器视图。

请让我知道,它的工作与否。

答案 2 :(得分:0)

根据我的知识UIPicker不符合UIAppereance的UI_APPEARANCE_SELECTOR ..

[pickerView setBackgroundColor:[UIColor blueColor]];

或者您可能想要使用..

- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view

上面两个是我更喜欢改变Picker Appearance的解决方案。虽然设置图像有其他方法,但我不建议使用它。

现在由你决定..