如何更改UIPickerView中的背景颜色?
我想在UIPickerView
改变背景颜色,可能吗?
更新:一个简单的窍门是设置一些子视图的alpha。 哪一个具体取决于你有多less个组件,但代码是:
[(UIView*)[[picker subviews] objectAtIndex:2] setAlpha:0.5f];
这将使拨号半透明,并通过背景颜色显示。
设置backgroudColor不会出现任何操作。 到目前为止,我所能做的最好的是设置单个组件行的背景颜色,因为组件的基本颜色将保持为白色,这些颜色是无用的。
理想情况下,我想设置每个组件的背景颜色(即拨号)。
似乎iOS 4.2没有任何子视图…
NSLog(@" %@ ", [self.pickerView subviews]);
返回空数组。
最后设法做到了。 我尝试一个组件的select器视图。
-
通过向导或代码设置select器视图背景颜色以清除颜色,如下所示:
Picker1.backgroundColor = [UIColor clearColor];
-
为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];
-
不要忘记清除您发送到viewForRow方法中select器视图的标签的背景颜色。
lbl.backgroundColor = [UIColor clearColor];
在iOS 7上,我只是放下一个自定义的背景图像。 没有其他的改变。