如何给标签添加模糊视图?标签位于UIImage前面,我希望标签的背景变得模糊,以便用户更好地阅读文本。我在标签边界内获得了模糊效果,但文本本身消失了(也许也会变得模糊,我不知道为什么)。我也试着用编程的方式添加一个标签,但是我没有让它工作。我感谢任何形式的帮助!
let blur = UIBlurEffect(style: .Light)
let blurView = UIVisualEffectView(effect: blur)
blurView.frame = findATeamLabel.bounds
findATeamLabel.addSubview(blurView)
5条答案
按热度按时间nue99wik1#
您可以创建自己的
BlurredLabel
,它可以模糊/取消模糊标签文本。通过CoreImage模糊滤镜,您可以获取标签文本,将其模糊为图像,然后在标签顶部显示该图像。PS:请确保根据您的要求改进此组件(例如,如果已经模糊,请避免模糊,或者如果文本已更改,您可以删除当前模糊并再次应用模糊)。
PSPS:还要考虑到对某些内容应用模糊会使其内容溢出,因此将
clipsToBounds = false
设置为BlurredLabel
或找到其他方法来实现您的视觉效果,以避免模糊图像看起来与之前未模糊的标签文本不在同一位置。要使用它,您只需创建一个
BlurredLabel
:在一些按钮点击,也许你可以实现模糊的
blurredLabel.blur()
和非模糊的blurredLabel.unblur()
。这是
blur()
通过2.5的blurRadius
获得的输出:drnojrws2#
您可以尝试将其发送到标签的视图层次结构的后面。
findATeamLabel.sendSubviewToBack(blurView)
jchrr9hc3#
我只是在标签后面添加了一个视图(标签不在视图里面,只是在它前面),然后我在视图中添加了模糊效果...我仍然认为应该有一个更简单的方法。
kb5ga3dv4#
Swift 5 -作为UIView扩展的模糊
oalqel3c5#
没有一个答案对我有效,接受的答案不工作的背景颜色不同的白色,或标签颜色不同的黑色的基础上的意见,它转到另一个问题,但答案使模糊向右移动了很多。因此,经过一些阅读调整CGRect的结果图像。