如何在 iPhone 中更改 UIPickerView 的背景颜色

Posted

技术标签:

【中文标题】如何在 iPhone 中更改 UIPickerView 的背景颜色【英文标题】:How to change the Background color of UIPickerView in iPhone 【发布时间】:2011-02-19 09:22:51 【问题描述】:

我在我的应用程序中使用了选择器视图控制器。现在我想改变背景颜色的颜色。那么我如何更改选择器视图的背景颜色并且还想更改行背景颜色。我想更改选择器视图的默认布局颜色,是否可以将自定义图像设置为选择器视图的背景?所以请指导我。

【问题讨论】:

你不能改变 UIPickerView 的颜色.... 【参考方案1】:

我已经answered 和similar question。您可以通过使用 IXPickerOverlayView 类 (available on GitHub) 完全替换背景图像来更改背景颜色。

【讨论】:

【参考方案2】:

您可以将UIView 添加到UIPickerView 的组件中,但您不能更改背景颜色或色调颜色。

viewForRow:forComponent 用于查看。

【讨论】:

【参考方案3】:

终于成功了。我尝试使用一个组件的选择器视图。

通过向导或代码设置选择器视图背景颜色如下:

Picker1.backgroundColor = [UIColor someColor];// clearColor for transparent

为选择器视图子视图设置 alpha 值,编号为 0、1 和 3。(不知道为什么会有子视图 2 的想法)。在第一次为选取器视图加载数据后通过代码执行此操作,如下所示(如果您在 DidViewLoad 中执行此操作,则会引发异常)。

[(UIView*)[[Picker1 subviews] objectAtIndex:0] setAlpha:someValue];// 0.0f for transparent
[(UIView*)[[Picker1 subviews] objectAtIndex:1] setAlpha:someValue];
[(UIView*)[[Picker1 subviews] objectAtIndex:3] setAlpha:someValue];

不要忘记在 viewForRow 方法中清除要发送到选取器视图的标签的背景颜色。

lbl.backgroundColor = [UIColor someColor];// could be clearColor

【讨论】:

【参考方案4】:

我最近写了an article about just this topic。很容易实现你想做的事情。 (虽然本文重点关注 ios7,但无论现代 iOS 版本如何,为组件行提供视图而不是字符串的技术都有效。)

【讨论】:

【参考方案5】:

我已更改 UIPicker 背景颜色和 UIPicker 工具栏颜色和字体颜色。让您的 UIPickerView 名称为 pickerView。

pickerView.backgroundColor=[UIColor greenColor]; - 在 greenColor 的地方你可以使用任何颜色

pickerView.backgroundColor=[UIColor colorWithRed: 127 green:127 blue:127 alpha:1]; - 在这里您可以选择任何颜色代码。

假设您在 UIPickerView 中使用了工具栏,那么我们可以使用 toolBar.backgroundcolor=[UIColor greenColor]; - 在 greenColor 的地方你可以使用任何颜色

toolBar.backgroundColor=[UIColor colorWithRed: 127 green:127 blue:127 alpha:1]; - 在这里您可以选择任何颜色代码。

toolBar.backgroundImage=[UIImage imageWithName:@"imageName"]; - 您可以在工具栏中将图像设置为背景图像。

【讨论】:

以上是关于如何在 iPhone 中更改 UIPickerView 的背景颜色的主要内容,如果未能解决你的问题,请参考以下文章

如何在iphone中以编程方式更改按钮文本

如何在 iPhone 中更改 UIPickerView 的背景颜色

如何在 iPhone 中动态更改 UITextView 中文本的字体大小

如何更改 iPhone 中 UITextField 的颜色?

如何在 iphone5 和 iphone6 上更改 UIImageView 的大小?

在 iPhone 中推送 UIViewController 时如何更改标签栏项目的选定索引