如何在iOS 7.1中移除inputView下的灰色图层

7

好的,以下是我的应用在iOS 7.0上的外观:

现在在iOS 7.1中由于某种原因,它的外观变成了这样:

可以看到,背景不再是白色模糊效果(绿色的东西实际上是一个绿色的UITextField),而是灰色的模糊效果-如果你仔细看,仍然可以看到绿色。

经过多次试验,我发现这是因为在UIPickerView下面有一个灰色图层。当我将UIPickerView的隐藏属性设置为YES时,结果如下:

代码非常简单:

_swimlanePicker = [[UIPickerView alloc] initWithFrame:CGRectZero];
_swimlanePicker.delegate = self;
_swimlanePicker.dataSource = self;
[_swimlanePicker setShowsSelectionIndicator:YES];
_swimlaneTextField.inputView = _swimlanePicker;

你有什么想法可以隐藏(或更改颜色/透明度)这个灰色层吗? 我喜欢旧的外观,也想在iOS 7.1中实现它。


像其他视图一样更改视图的backgroundColor? - Infinity James
这将隐藏模糊的视图底部。 - AXE
尝试更改UIPickerView的色调颜色。 - LorikMalorik
正如我所说 - 这与UIPickerView本身无关 - 当它被隐藏时,灰色视图仍然存在。 - AXE
你尝试过将backgroundColor更改为无颜色(即alpha 0)吗? - rr1g0
显示剩余3条评论
2个回答

1
我认为问题在于苹果对键盘外观进行了更改。在iOS 7.1中,它略有不同。
引用自文章介绍版本之间的更改(您可以查看键盘之前和之后的截图)。

Apple还微调了键盘。字体略微加粗。Shift和Delete按钮也稍作修改。键盘的背景色似乎比iOS 7中要稍亮一些。它似乎增加了对比度,使字母更易于辨认。

因此,我想你不能做任何事情而不使用非常丑陋的hack,例如混淆底层的CALayers。
您可以阅读此答案中有关如何添加半透明层的内容。 链接中第一种方法的评论:
我在 Apple UIKit 工程师的技术讲座实验室中向他展示了这种方法。尽管他肯定不会认可这种方法,但他认识到了这种效果的必要性以及缺乏真正的公共 API,他说这种方法是“最小恶”选项,目前为止相当安全。具体而言,他表示不要尝试对此工具栏/视图的框架或变换进行任何动画处理,否则会发生糟糕的事情。他还强烈建议在此问题上提交 Radar bug 报告,以在内部建立案例,以便我们可以获得真正的公共 API 来实现这种效果!

我想你是对的。在接受这个令人沮丧但却是真实答案之前,我会再等一会儿:D 关于半透明层 - 那就是我正在使用的 :) - AXE
@AXE 也许你可以在 https://bugreport.apple.com 上报告一个 bug。他们可能会拒绝它,但至少你应该得到一个官方的解释。 - Ilea Cristian

0

我曾经遇到过同样的问题,花了几个小时才找到一个非常简单的解决方案。

基本上,将选择器放在具有所需backgroundColor的视图中。将此视图添加为您的inputView。并且:不要将文本字段的keyboardAppearance设置为暗色!

let datePicker = UIDatePicker()

let datePickerBackground = UIView(frame:CGRect(x:0.0, y:0.0, width:0.0, height:216.0))
datePickerBackground.autoresizingMask = .FlexibleWidth
datePickerBackground.backgroundColor = UIColor.redColor()
datePickerBackground.addSubview(datePicker)

let textField = UITextField(frame: CGRect(x: 0.0, y: 0.0, width: 100.0, height: 50.0))
textField.keyboardAppearance = .Default // Don't set it to .Dark!
textField.inputView = datePickerBackground
addSubview(textField)

由于某些原因,当我尝试时,仍然得到灰色视图。 - AXE

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