如何让按钮背景变得模糊?
我发现这会产生模糊效果:
let blur = UIVisualEffectView(effect: UIBlurEffect(style: UIBlurEffectStyle.Light))
blur.frame = buttonForDisabling.frame
self.tableView.addSubview(blur)
Run Code Online (Sandbox Code Playgroud)
这是有效的,但只能使用与我的按钮相同的框架进行模糊处理.我想要一个背景模糊的按钮.在iOS8中可以吗?
Bla*_*ley 16
这可以通过创建模糊并将其插入UIButton的titleLabel下方来完成.禁用用户交互非常重要,以便允许触摸不被视觉效果视图拦截并转发到按钮.
Swift 4.2:
let blur = UIVisualEffectView(effect: UIBlurEffect(style:
UIBlurEffect.Style.light))
blur.frame = buttonForDisabling.bounds
blur.isUserInteractionEnabled = false //This allows touches to forward to the button.
buttonForDisabling.insertSubview(blur, at: 0)
Run Code Online (Sandbox Code Playgroud)
tuv*_*vok 16
如果您使用带有图像的按钮,请将imageview置于前面:
buttonForDisabling.bringSubview(toFront: buttonForDisabling.imageView!)
Run Code Online (Sandbox Code Playgroud)
或者只使用此扩展程序:
import Foundation
import UIKit
extension UIButton
{
func addBlurEffect()
{
let blur = UIVisualEffectView(effect: UIBlurEffect(style: .light))
blur.frame = self.bounds
blur.isUserInteractionEnabled = false
self.insertSubview(blur, at: 0)
if let imageView = self.imageView{
self.bringSubview(toFront: imageView)
}
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7960 次 |
最近记录: |