Estou definindo uma imagem de fundo para visualizar o controlador. Mas também quero adicionar efeito de desfoque a este fundo. Como posso fazer isso?
Estou definindo o plano de fundo com o seguinte código:
self.view.backgroundColor = UIColor(patternImage: UIImage(named: "testBg")!)
Eu encontrei na internet para blur imageview, como posso implementar isso no meu plano de fundo?
var darkBlur = UIBlurEffect(style: UIBlurEffectStyle.Dark)
// 2
var blurView = UIVisualEffectView(effect: darkBlur)
blurView.frame = imageView.bounds
// 3
imageView.addSubview(blurView)
Respostas:
Eu testei este código e está funcionando bem:
Para Swift 3.0:
Para Swift 4.0:
Aqui você pode ver o resultado:
Ou você pode usar esta biblioteca para isso:
https://github.com/FlexMonkey/Blurable
fonte
UIBlurEffectStyle.Light
Você pode fazer uma extensão de UIImageView.
Swift 2.0
Uso:
Extensão Swift 3
Uso:
Termo aditivo:
fonte
@AlvinGeorge deve apenas usar:
uso :
fonte
Para Swift 3 (iOS 10.0 e 8.0)
fonte
Você também pode usar CoreImage para criar uma imagem borrada com efeito escuro
Faça um instantâneo para a imagem
Aplique Filtros CoreImage como desejar com
fonte
Isso funcionou para mim no Swift 5
fonte
Este sempre mantém a moldura certa:
fonte
Você deve sempre usar .dark para o estilo e adicionar o seguinte código para torná-lo legal
fonte
Este código está funcionando bem para mim! é para Swift 4.x
fonte
Encontrado outra maneira .. Eu uso UIImage + ImageEffects da apple.
fonte
Em uma extensão UIView:
fonte