首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何去除UITextField键盘上的模糊

如何去除UITextField键盘上的模糊
EN

Stack Overflow用户
提问于 2018-07-25 02:32:49
回答 2查看 380关注 0票数 1

我有一个显示国家列表的UIPickerView,我希望PickerView完全没有背景,也没有模糊效果,我设法使用下面这行代码删除了颜色:

代码语言:javascript
复制
picker.backgroundColor = UIColor.clear

然而,我无法消除模糊效果。可以将其删除吗?

更新:

我刚刚意识到模糊效果来自UITextField而不是UIPickerView,但仍然找不到解决方法。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-07-25 04:57:24

我发现了一个有效的技巧,我没有尝试从键盘上移除模糊,而是使用numberOfRowsInComponent函数中的以下行更改了UIPickerView的背景色,使其与UIView背景色相匹配:

代码语言:javascript
复制
picker.backgroundColor = UIColor.black

如果你使用渐变颜色作为你的UIView背景,你可以使用这一行:

代码语言:javascript
复制
picker.addGradientBackground(firstColor: UIColor.black, secondColor: UIColor.white)

但你必须正确地管理颜色才能获得最佳效果。

此外,如果您只有颜色的十六进制值,则可以使用this site轻松地将它们转换为UIColor

其他注意事项:

在我的例子中,我为我的UIView背景使用了渐变颜色,并使用了一个当键盘出现时移动UITextField的函数,你可以找到here,谢天谢地,这让它变得更容易了,因为我只需要为UIPickerView背景使用一种颜色,那就是底部的颜色-最UIView背景的颜色。

HTH

票数 0
EN

Stack Overflow用户

发布于 2018-10-25 19:29:51

我也有同样的问题,在我的自定义inputView下面找到了一个隐藏模糊视图的解决方案。你可以通过addObserver通知键盘会显示,并隐藏模糊视图。我还测试了iOS 9 -> 12,希望这能有所帮助。

代码语言:javascript
复制
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
    }
}

结果:Simulator 5s on iOS 12

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51505400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档