Ustawiam obraz tła, aby wyświetlić kontroler. Ale chcę też dodać efekt rozmycia do tego tła. W jaki sposób mogę to zrobić?
Tło ustawiam następującym kodem:
self.view.backgroundColor = UIColor(patternImage: UIImage(named: "testBg")!)
Znalazłem w internecie rozmycie obrazu, jak mogę to zaimplementować w tle?
var darkBlur = UIBlurEffect(style: UIBlurEffectStyle.Dark)
// 2
var blurView = UIVisualEffectView(effect: darkBlur)
blurView.frame = imageView.bounds
// 3
imageView.addSubview(blurView)
Odpowiedzi:
Przetestowałem ten kod i działa dobrze:
Dla Swift 3.0:
Dla Swift 4.0:
Tutaj możesz zobaczyć wynik:
Lub możesz użyć tej biblioteki do tego:
https://github.com/FlexMonkey/Blurable
źródło
UIBlurEffectStyle.Light
Możesz utworzyć rozszerzenie UIImageView.
Swift 2.0
Stosowanie:
Rozszerzenie Swift 3
Stosowanie:
Uzupełnienie:
źródło
@AlvinGeorge powinien po prostu użyć:
użycie :
źródło
Dla Swift 3 (iOS 10.0 i 8.0)
źródło
Możesz także użyć CoreImage do stworzenia rozmytego obrazu z ciemnym efektem
Zrób migawkę obrazu
Zastosuj filtry CoreImage, jak chcesz
źródło
To działało dla mnie w Swift 5
źródło
Ten zawsze zachowuje właściwą ramkę:
źródło
Zawsze powinieneś używać .dark jako stylu i dodać następujący kod, aby wyglądał fajnie
źródło
Ten kod działa dobrze dla mnie! jego dla Swift 4.x
źródło
Znalazłem inny sposób ... Używam UIImage + ImageEffects firmy Apple.
źródło
W rozszerzeniu UIView:
źródło