避免在iOS7中UIDatePicker的透明度

17

我刚刚将我的应用程序升级到iOS7,发现日期选择器是透明的。看起来我可以看到日期选择器后面的一切。我该如何避免这种情况?

我尝试将日期选择器放置在另一个视图中。但仍然是透明的。我该如何避免 UIDatePicker 的透明度?我尝试了此链接1我可以在iOS7中更改datePicker的字体颜色吗?但没有效果。谢谢。

编辑:我已经将 UIDatePicker 添加到名为 whiteborderview 的视图中。

whiteborderview.backgroundColor = [UIColor whiteColor];

whiteborderview.alpha = 1.0;

[whiteborderview addSubview:dtPkrStart] 

我得到了这样的输出

transparent datepicker

但仍然是透明的。 编辑2 我使用了这段代码,现在它看起来比之前好多了。
[UIView appearanceWhenContainedIn:[UITableView class], [UIDatePicker class], nil].backgroundColor = [UIColor colorWithWhite:1 alpha:1];

dtPkrStart.backgroundColor = [UIColor blackColor];

日期选择器的外观已更改,如下所示:date picker new look
3个回答

55

只需更改日期选择器的背景颜色即可

datepicker.backgroundColor = [UIColor yourcolor];

1
这对我来说很好用:datePicker.backgroundColor = [UIColor colorWithWhite:1.0 alpha:0.95]; 我在这里使用了0.95,所以仍然有一点透明度,但如果你想要完全不透明,1.0也可以。 - Joe Strout
5
从接口生成器为什么不起作用,有任何想法吗? - codrut
13
因为苹果喜欢在这里和那里戳我们 iOS 开发者。 - Louie
1
貌似有一个错误...在Xcode7.1中仍然存在;无法从界面构建器更改背景颜色(无论设置如何,都保持透明),但是从代码中可以正常工作:_datePicker.backgroundColor = [UIColor whiteColor]; - Richard

6

您可以在UIDatePicker后面添加任何颜色的UIView。这将对您有所帮助。


我已将日期选择器放置在一个不透明的视图中,并将其设置为白色。但是,同一视图被放置在一个透明的视图之上(这是我的要求)。但最终的结果是datepicker仍然是透明的。 :( - Midhun Raj
日期选择器将保持透明,但是在日期选择器后面的视图将消除日期选择器的透明度。就好像在透明玻璃后面放置任何颜色的纸片一样。 - Imran Ahmed
谢谢,请展示一下你添加背景视图的代码或nib文件。我认为背景视图是透明的。 - Imran Ahmed
目前还没有解决。我已经将白色边框视图替换为ImageView并应用了白色图片,但仍然是透明的。设置背景透明视图的代码如下:transprnt.backgroundColor = [UIColor darkTextColor];transprnt.alpha = 0.800000011920929;[transprnt addSubview:whiteborderview]; - Midhun Raj
没有,它没有起作用。我在问题中也提到了同样的链接。在调试时它没有进入那个函数。我该怎么办?:( - Midhun Raj
显示剩余6条评论

2
[UIView appearanceWhenContainedIn:[UITableView class], [UIDatePicker class], nil].backgroundColor =[UIColor colorWithWhite:1 alpha:0];
pickerView.backgroundColor=[UIColor whiteColor];
anotherView.backgroundColor=[UIColor whiteColor];//Another view on which you subview picker

为了避免透明度问题,将子视图选择器视图移到另一个视图中,并使用以下代码: - Abdul Rahman Khan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接