¿Podría alguien dar un pequeño ejemplo de cómo aplicar el desenfoque a una imagen? He estado tratando de descifrar el código por un tiempo :( ¡todavía nuevo en obj c!
El
UIVisualEffectView
proporciona una abstracción simple a través de efectos visuales complejos. Dependiendo del efecto deseado, los resultados pueden afectar el contenido en capas detrás de la vista o el contenido agregado a la vista contentView.Aplique a
UIVisualEffectView
a una vista existente para aplicar un efecto de desenfoque o vitalidad a la vista existente. Después de agregar UIVisualEffectView a la jerarquía de vistas, agregue cualquier subvista al contentView deUIVisualEffectView
. No agregue subvistas directamente aUIVisualEffectView
sí mismo.
UIVisualEffectView
'scontentView
github.com/onmyway133/blog/issues/124Respuestas:
Simplemente coloque esta vista borrosa en imageView. Aquí hay un ejemplo en Objective-C:
y rápido:
fuente
Aquí se explica cómo usar UIVibrancyEffect y UIBlurEffect con UIVisualEffectView
C objetivo:
Swift 4:
fuente
extension UILabel { override func tintColorDidChange() { textColor = tintColor; super.tintColorDidChange() } }
removeFromSuperView
, haces el[self.visualEffectView setHidden:NO];
? Asignar y agregar a la vista es una operación costosa que ocultar o mostrar.También puede usar el generador de interfaces para crear estos efectos fácilmente en situaciones simples. Dado que los valores z de las vistas dependerán del orden en que se enumeran en el Esquema del documento, puede arrastrar un
UIVisualEffectView
al contorno del documento antes de la vista que desea desenfocar. Esto crea automáticamente un anidadoUIView
, que escontentView
propiedad de lo dadoUIVisualEffectView
. Anida cosas dentro de esta vista que deseas que aparezcan encima del desenfoque.También puede aprovechar fácilmente la vitalidad
UIVisualEffect
, que creará automáticamente otra anidadaUIVisualEffectView
en el esquema del documento con la vitalidad habilitada de forma predeterminada. A continuación, puede agregar una etiqueta o vista de texto al anidadoUIView
(nuevamente, lacontentView
propiedad delUIVisualEffectView
), para lograr el mismo efecto que el elemento de la interfaz de usuario "> deslizar para desbloquear".fuente
Prefiero crear efectos visuales a través de Storyboard: no se usa código para crear o mantener elementos de la interfaz de usuario. También me da soporte completo para el paisaje. He hecho una pequeña demostración del uso de UIVisualEffects con Blur y también Vibrancy.
Demo en Github
fuente
Si a alguien le gustaría la respuesta en Swift:
Actualización:
A partir de ahora, está disponible bajo el IB para que no tenga que codificar nada :)
fuente
fuente
Esto se utiliza para desenfocar fondos, ya sean claros u oscuros, para que el texto se pueda superponer más fácilmente. Opcionalmente, puede habilitar la vitalidad, lo que hace que el texto se represente en un color brillante y contrastante junto con el desenfoque.
fuente