Quelqu'un pourrait-il donner un petit exemple d'application du flou à une image? J'essaie de comprendre le code depuis un moment maintenant :( encore nouveau chez obj c!
Le
UIVisualEffectView
fournit une abstraction simple sur des effets visuels complexes. Selon l'effet souhaité, les résultats peuvent affecter le contenu en couches derrière la vue ou le contenu ajouté à contentView de la vue.Appliquez un
UIVisualEffectView
à une vue existante pour appliquer un effet de flou ou de dynamisme à la vue existante. Après avoir ajouté UIVisualEffectView à la hiérarchie de vues, ajoutez toutes les sous-vues à contentView deUIVisualEffectView
. N'ajoutez pas de sous-vues directement àUIVisualEffectView
lui - même.
UIVisualEffectView
'scontentView
github.com/onmyway133/blog/issues/124Réponses:
Mettez simplement cette vue floue sur l'imageView. Voici un exemple dans Objective-C:
et Swift:
la source
Voici comment utiliser UIVibrancyEffect et UIBlurEffect avec UIVisualEffectView
Objectif c:
Swift 4:
la source
extension UILabel { override func tintColorDidChange() { textColor = tintColor; super.tintColorDidChange() } }
removeFromSuperView
, vous faites le[self.visualEffectView setHidden:NO];
? Allouer et ajouter à la vue est une opération coûteuse que de masquer ou d'afficher.Vous pouvez également utiliser le générateur d'interface pour créer facilement ces effets pour des situations simples. Étant donné que les valeurs z des vues dépendent de l'ordre dans lequel elles sont répertoriées dans le plan du document, vous pouvez faire glisser un
UIVisualEffectView
sur le plan du document avant la vue que vous souhaitez rendre floue. Cela crée automatiquement un imbriquéUIView
, qui est lacontentView
propriété du donnéUIVisualEffectView
. Imbriquez dans cette vue les éléments que vous souhaitez voir apparaître en haut du flou.Vous pouvez également facilement profiter de la vivacité
UIVisualEffect
, qui en créera automatiquement une autre imbriquéeUIVisualEffectView
dans le plan du document avec la vivacité activée par défaut. Vous pouvez ensuite ajouter une étiquette ou une vue de texte à l'imbriquéUIView
(à nouveau, lacontentView
propriété de laUIVisualEffectView
), pour obtenir le même effet que l'élément d'interface utilisateur "> faire glisser pour déverrouiller".la source
Je préfère créer des effets visuels via Storyboard - aucun code utilisé pour créer ou maintenir des éléments d'interface utilisateur. Cela me donne également un support paysage complet. J'ai fait une petite démonstration de l'utilisation d'UIVisualEffects avec Blur et aussi de Vibrancy.
Démo sur Github
la source
Si quelqu'un souhaite la réponse dans Swift:
Mettre à jour :
Pour l'instant, il est disponible sous l'IB, vous n'avez donc rien à coder :)
la source
la source
Ceci est utilisé pour flouter les arrière-plans, clairs ou foncés, afin que le texte puisse être superposé plus facilement. Vous pouvez éventuellement activer la vibration, ce qui entraîne le rendu du texte dans une couleur vive et contrastée à côté du flou.
la source