如何更改UIPickerView中的背景颜色?

我想在UIPickerView改变背景颜色,可能吗?

更新:一个简单的窍门是设置一些子视图的alpha。 哪一个具体取决于你有多less个组件,但代码是:

 [(UIView*)[[picker subviews] objectAtIndex:2] setAlpha:0.5f]; 

这将使拨号半透明,并通过背景颜色显示。


设置backgroudColor不会出现任何操作。 到目前为止,我所能做的最好的是设置单个组件行的背景颜色,因为组件的基本颜色将保持为白色,这些颜色是无用的。

理想情况下,我想设置每个组件的背景颜色(即拨号)。

似乎iOS 4.2没有任何子视图…

 NSLog(@" %@ ", [self.pickerView subviews]); 

返回空数组。

最后设法做到了。 我尝试一个组件的select器视图。

  1. 通过向导或代码设置select器视图背景颜色以清除颜色,如下所示:

     Picker1.backgroundColor = [UIColor clearColor]; 
  2. 为select器视图子视图编号0,1和3,设置为0.0f的alpha值。(不知道为什么有子视图2思想)。 如下所示,在选取器视图的第一个加载数据之后按代码执行(如果在DidViewLoad中执行此操作,将会引发exception)。

     [(UIView*)[[Picker1 subviews] objectAtIndex:0] setAlpha:0.0f]; [(UIView*)[[Picker1 subviews] objectAtIndex:1] setAlpha:0.0f]; [(UIView*)[[Picker1 subviews] objectAtIndex:3] setAlpha:0.0f]; 
  3. 不要忘记清除您发送到viewForRow方法中select器视图的标签的背景颜色。

     lbl.backgroundColor = [UIColor clearColor]; 

在iOS 7上,我只是放下一个自定义的背景图像。 没有其他的改变。