Könnte jemand ein kleines Beispiel für das Anwenden der Unschärfe auf ein Bild geben? Ich habe jetzt schon eine Weile versucht, den Code herauszufinden :( noch neu bei obj c!
Das
UIVisualEffectView
bietet eine einfache Abstraktion über komplexe visuelle Effekte. Abhängig vom gewünschten Effekt können sich die Ergebnisse auf Inhalte auswirken, die hinter der Ansicht liegen, oder auf Inhalte, die der Inhaltsansicht der Ansicht hinzugefügt wurden.Wenden Sie a
UIVisualEffectView
auf eine vorhandene Ansicht an, um einen Unschärfe- oder Vibrationseffekt auf die verlassene Ansicht anzuwenden. Nachdem Sie die UIVisualEffectView zur Ansichtshierarchie hinzugefügt haben, fügen Sie der contentView der Unteransichten hinzuUIVisualEffectView
. Fügen Sie keine Unteransichten direkt zu sichUIVisualEffectView
selbst hinzu.
UIVisualEffectView
contentView
Antworten:
Fügen Sie diese Unschärfeansicht einfach in die Bildansicht ein. Hier ist ein Beispiel in Ziel-C:
und Swift:
quelle
Hier erfahren Sie, wie Sie UIVibrancyEffect und UIBlurEffect mit UIVisualEffectView verwenden
Ziel c:
Swift 4:
quelle
extension UILabel { override func tintColorDidChange() { textColor = tintColor; super.tintColorDidChange() } }
removeFromSuperView
, machst du das[self.visualEffectView setHidden:NO];
? Das Zuweisen und Hinzufügen zur Ansicht ist teurer als das Ausblenden oder Anzeigen.Sie können den Interface Builder auch verwenden, um diese Effekte für einfache Situationen einfach zu erstellen. Da die Z-Werte der Ansichten von der Reihenfolge abhängen, in der sie in der Dokumentgliederung aufgeführt sind, können Sie a
UIVisualEffectView
vor der Ansicht, die Sie verwischen möchten, auf die Dokumentkontur ziehen. Dadurch wird automatisch eine Verschachtelung erstelltUIView
, die diecontentView
Eigenschaft der angegebenen istUIVisualEffectView
. Verschachteln Sie Dinge in dieser Ansicht, die über der Unschärfe angezeigt werden sollen.Sie können auch die Lebendigkeit leicht nutzen
UIVisualEffect
, wodurch automatisch eine weitereUIVisualEffectView
in der Dokumentkontur verschachtelte Lebendigkeit erstellt wird , wobei die Lebendigkeit standardmäßig aktiviert ist. Sie können dem verschachtelten ElementUIView
(wieder diecontentView
Eigenschaft vonUIVisualEffectView
) eine Beschriftung oder Textansicht hinzufügen , um den gleichen Effekt zu erzielen wie das UI-Element "> Folie zum Entsperren".quelle
Ich bevorzuge das Erstellen von visuellen Effekten über Storyboard - kein Code zum Erstellen oder Verwalten von UI-Elementen. Es gibt mir auch volle Unterstützung für die Landschaft. Ich habe eine kleine Demo der Verwendung von UIVisualEffects mit Unschärfe und auch Vibrancy gemacht.
Demo auf Github
quelle
Wenn jemand die Antwort in Swift möchte:
Update:
Ab sofort ist es unter dem IB verfügbar, sodass Sie nichts dafür codieren müssen :)
quelle
quelle
Dies wird verwendet, um helle oder dunkle Hintergründe zu verwischen, damit Text leichter überlagert werden kann. Sie können optional die Lebendigkeit aktivieren, wodurch der Text neben der Unschärfe in einer hellen, kontrastierenden Farbe gerendert wird.
quelle