Wie zu verwenden UIVisualEffectView zu Verwischen Bild?
Könnte jemand ein kleines Beispiel für die Anwendung der Unschärfe in einem Bild? Ich habe versucht, herauszufinden, den code für eine Weile jetzt 🙁 noch neu im obj-c!
Den
UIVisualEffectView
bietet eine einfache Abstraktion über komplexe
visual effects. Je nach gewünschtem Effekt, die Ergebnisse können
auf den Inhalt auswirken geschichteten hinter die anzeigen oder Inhalte Hinzugefügt, um die Ansicht
contentView.Anwenden
UIVisualEffectView
um eine vorhandene Ansicht zu gelten eine Unschärfe oder
Lebendigkeit Effekt auf die spannende Aussicht. Nach dem hinzufügen der
UIVisualEffectView in die view-Hierarchie, hinzufügen, alle Unteransichten der
contentView derUIVisualEffectView
. Fügen Sie nicht direkt an Untersichten
dieUIVisualEffectView
selbst.
- Seien Sie vorsichtig, um das hinzufügen von Ansichten zu
UIVisualEffectView
'scontentView
github.com/onmyway133/blog/issues/124 - Auch wenn Sie hinzufügen, um eine Untersicht und die Einstellung seiner frame-vergessen Sie nicht, aktualisieren Sie das Bild in viewDidLayoutSubviews, um sicherzustellen, dass die rotation funktioniert.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nur diesen blur-Blick auf die Bildansicht. Hier ist ein Beispiel in Objective-C:
Swift:
ÙIVisualEffectView
wie Apple sagt "Wenn Sie den UIVisualEffectView Klasse, Vermeidung von alpha-Werte von weniger als 1"Hier ist, wie zu verwenden UIVibrancyEffect und UIBlurEffect mit UIVisualEffectView
Objective-C:
Swift 4:
extension UILabel { override func tintColorDidChange() { textColor = tintColor; super.tintColorDidChange() } }
removeFromSuperView
Sie die[self.visualEffectView setHidden:NO];
? Zuordnen und hinzufügen in der Ansicht ist teurer Betrieb als ein-oder auszublenden.Können Sie auch mit dem interface-builder erstellen, diese Effekte leicht für einfache Situationen. Da die z-Werte der Ansichten hängt von der Reihenfolge in der Sie aufgelistet sind die Gliederung des Dokuments, ziehen Sie die
UIVisualEffectView
auf die Gliederung des Dokuments, bevor Sie die Ansicht, die Sie verwischen wollen. Dies erzeugt automatisch eine verschachtelteUIView
, die diecontentView
Eigenschaft des gegebenenUIVisualEffectView
. Nest die Dinge innerhalb dieser Ansicht, die Sie wollen, um zu erscheinen, on top von der Unschärfe.Können Sie auch einfach nutzen Sie die Lebendigkeit
UIVisualEffect
, die automatisch erstellt wird eine weitere verschachtelteUIVisualEffectView
in die Gliederung des Dokuments mit Ausstrahlung standardmäßig aktiviert. Sie können dann fügen Sie ein label-oder text-Ansicht, um die verschachteltenUIView
(wieder, diecontentView
Eigenschaft desUIVisualEffectView
), um den gleichen Effekt erzielen, dass die "> slide to unlock" - UI-element.Wenn jemand Lust hätte die Antwort in Swift :
Update :
Als jetzt, es ist verfügbar unter der IB, so dass Sie nicht haben, um code etwas für Sie 🙂
Ich bevorzuge, erstellen von Visuellen Effekten über Storyboard - kein code verwendet, für den Aufbau oder die Aufrechterhaltung der UI-Elemente. Es gibt mir die volle Landschaft Unterstützung, auch. Ich habe ein kleines demo mit UIVisualEffects mit Unschärfe und auch Lebendigkeit.
Demo auf Github
Diese wird verwendet, um Unschärfe Hintergründe, entweder Licht oder dunkel, so dass text überlagert werden leichter. Optional können Sie aktivieren Lebendigkeit, die bewirkt, dass der text in einer hellen, kontrastierenden Farbe neben der Unschärfe.