Ich stelle ein Hintergrundbild ein, um den Controller anzuzeigen. Aber ich möchte diesem Hintergrund auch einen Unschärfeeffekt hinzufügen. Wie kann ich das machen?
Ich setze Hintergrund mit folgendem Code:
self.view.backgroundColor = UIColor(patternImage: UIImage(named: "testBg")!)
Ich habe im Internet für unscharfe Bildansicht gefunden, wie ich dies in meinem Hintergrund implementieren kann.
var darkBlur = UIBlurEffect(style: UIBlurEffectStyle.Dark)
// 2
var blurView = UIVisualEffectView(effect: darkBlur)
blurView.frame = imageView.bounds
// 3
imageView.addSubview(blurView)
Antworten:
Ich habe diesen Code getestet und er funktioniert einwandfrei:
Für Swift 3.0:
Für Swift 4.0:
Hier sehen Sie das Ergebnis:
Oder Sie können diese Bibliothek dafür verwenden:
https://github.com/FlexMonkey/Blurable
quelle
UIBlurEffectStyle.Light
Sie können eine Erweiterung von UIImageView erstellen.
Swift 2.0
Verwendung:
Swift 3-Erweiterung
Verwendung:
Nachtrag:
quelle
@AlvinGeorge sollte nur verwenden:
Verwendung :
quelle
Für Swift 3 (iOS 10.0 und 8.0)
quelle
Sie können CoreImage auch verwenden, um unscharfe Bilder mit dunklem Effekt zu erstellen
Machen Sie einen Schnappschuss für das Bild
Wenden Sie CoreImage-Filter wie gewünscht an
quelle
Das hat bei Swift 5 bei mir funktioniert
quelle
Dieser behält immer den richtigen Rahmen:
quelle
Sie sollten immer .dark für den Stil verwenden und den folgenden Code hinzufügen, damit er cool aussieht
quelle
Dieser Code funktioniert gut für mich! Es ist für Swift 4.x.
quelle
Einen anderen Weg gefunden. Ich verwende UIImage + ImageEffects von Apple.
quelle
In einer UIView-Erweiterung:
quelle