我有一个日期选择器并将背景设置为绿色。
myDatePicker.backgroundColor = [UIColor greenColor];
然后当我运行代码时,项目上有一个白色背景,虽然我没有触及datepicker设置上的任何东西。 (见下图)。
我还看到一些帖子说使用ios 7的datepicker上有一个bug。这是真的吗?
答案 0 :(得分:1)
我对该应用的iPad版本有同样的错误。不知何故,iPhone版本运行良好。我找到了一种解决方法,可以从UIDatePicker
中删除白色背景。
要解决此问题,在视图中显示UIDatePicker
之前,我手动更改日期一次,然后重新设置日期,如下所示:
[datePicker setDate:[NSDate dateWithTimeIntervalSince1970:NSTimeIntervalSince1970]];
[datePicker setDate:[NSDate date]];
//Now add the datepicker to the view that you want to.
这似乎为我删除了烦人的白色背景。告诉我它是否适合你!
答案 1 :(得分:1)
好的,我发现了一个有点棘手的解决方案,但解决方案:)所以它与iPad(iOS 7)的UITableViewCell背景颜色相同。解决方案:
- (void)makeAllSubviewsBackroundClear:(UIView*)view
{
for (UIView *subview in view.subviews)
{
if ([subview isKindOfClass:[UITableViewCell class]])
{
subview.backgroundColor = [UIColor clearColor];
}
[self makeAllSubviewsBackroundClear:subview];
}
}
-(void)layoutSubviews
{
[self makeAllSubviewsBackroundClear:self.datePicker];
[super layoutSubviews];
}
解决方案是设置" cell"在我们的情况下,您需要的背景颜色 - 颜色清晰,当细胞出现时#34;。也许这不是一个理想的解决方案,但我希望它会有所帮助。
P.S。:您可以在某种程度上重构此代码,以便在每个布局子视图中都不会调用此方法,但在特殊情况下。
答案 2 :(得分:0)
不确定为什么Apple会这样做,但尝试将所有子视图设置为清除颜色,然后将背景设置为绿色
for (UIView *view in myDatePicker.subviews) {
view.backgroundColor = [UIColor clearColor];
}
myDatePicker.backgroundColor = [UIColor greenColor];
答案 3 :(得分:0)
我也有这个错误。它似乎是一个iOS错误,iOS 7.1无法修复它 这是与此相同的错误:post