PickerView 在黑色背景下不可见

Posted

技术标签:

【中文标题】PickerView 在黑色背景下不可见【英文标题】:PickerView invisible against a black background 【发布时间】:2014-03-11 17:33:15 【问题描述】:

这可能是一个愚蠢且非常简单的问题,但我无法解决它。

我有一个黑色背景的视图控制器,我在上面放置了一个 PickerView 控件。我已经设置了委托和数据源,并确认它们工作正常。

当我将相同的选择器视图放在黑色背景上,并将色调设置为白色并将背景颜色设置为清除时,选择器视图是不可见的。我要做的就是在黑色背景上使用白色字体,也就是说,让选择器视图可见。我发现让选择器视图可见的唯一方法是将背景设置为白色,这违背了这个应用程序的设计。

显然我错过了一些东西,但是什么?有什么建议么?谢谢!

【问题讨论】:

【参考方案1】:

tint 选项将使背景视图着色。

如果您希望文本为白色,则应将文本颜色设置为白色,如下所示 (source):

- (NSAttributedString *)pickerView:(UIPickerView *)pickerView attributedTitleForRow:(NSInteger)row forComponent:(NSInteger)component 
    NSString *title = @"sample title";
    NSAttributedString *attString = [[NSAttributedString alloc] initWithString:title attributes:@NSForegroundColorAttributeName:[UIColor whiteColor]];

return attString;


【讨论】:

【参考方案2】:

在您的选择器视图委托中,不要提供titleForRow:,而是提供attributedTitleForRow: 带有颜色为白色的属性字符串。

或者,使用viewForRow: 并提供字体颜色为白色的UILabels。

【讨论】:

以上是关于PickerView 在黑色背景下不可见的主要内容,如果未能解决你的问题,请参考以下文章

视图在方向更改时旋转时的黑色背景

unity3d 如何将贴图的黑色背景变为透明

叠加在图像上时,使文本显示为白色,具有半透明的黑色背景

为什么我的JPanel背景颜色不会改变?

Qt 5.1.1 中设置背景,背景为黑色,怎么解决?

eclipse怎么换成黑色的背景