我有一个显示国家列表的UIPickerView
,我希望PickerView
完全没有背景,也没有模糊效果,我设法使用下面这行代码删除了颜色:
picker.backgroundColor = UIColor.clear
然而,我无法消除模糊效果。可以将其删除吗?
更新:
我刚刚意识到模糊效果来自UITextField
而不是UIPickerView
,但仍然找不到解决方法。
发布于 2018-07-25 04:57:24
我发现了一个有效的技巧,我没有尝试从键盘上移除模糊,而是使用numberOfRowsInComponent
函数中的以下行更改了UIPickerView
的背景色,使其与UIView
背景色相匹配:
picker.backgroundColor = UIColor.black
如果你使用渐变颜色作为你的UIView
背景,你可以使用这一行:
picker.addGradientBackground(firstColor: UIColor.black, secondColor: UIColor.white)
但你必须正确地管理颜色才能获得最佳效果。
此外,如果您只有颜色的十六进制值,则可以使用this site轻松地将它们转换为UIColor
其他注意事项:
在我的例子中,我为我的UIView
背景使用了渐变颜色,并使用了一个当键盘出现时移动UITextField
的函数,你可以找到here,谢天谢地,这让它变得更容易了,因为我只需要为UIPickerView
背景使用一种颜色,那就是底部的颜色-最UIView
背景的颜色。
HTH
发布于 2018-10-25 19:29:51
我也有同样的问题,在我的自定义inputView下面找到了一个隐藏模糊视图的解决方案。你可以通过addObserver通知键盘会显示,并隐藏模糊视图。我还测试了iOS 9 -> 12,希望这能有所帮助。
NotificationCenter.default.addObserver(
self,
selector: #selector(self.keyboardWillShowNotification(_:)),
name: UIResponder.keyboardWillShowNotification,
object: nil
)
@objc func keyboardWillShowNotification(_ notification: Notification) {
guard let superView = inputView?.superview else { return }
for childView in superView.subviews where childView != inputView {
childView.isHidden = true
}
}
https://stackoverflow.com/questions/51505400
复制相似问题