2015-01-22 11 views
5

esiste un modo per modificare l'effetto su un UIVisualEffectView? nella mia app creo un UIVisualEffectView in storyboard e poi voglio cambiarlo toLight o scuro su usersettings ...Effetto di modifica su UIVisualEffectView

Vedo solo un "initWithEffect" e la proprietà "effetto" è in sola lettura :(

Quindi, qualsiasi idea su come risolvere questo problema?

Grazie, Urkman

risposta

0

Purtroppo, non è possibile modificare l'effetto di vista, una volta creato.

Quindi, se si utilizza UIVi sualEffectsView come gerarchia di contenitore per le viste, dovrai sostituire la vista degli effetti con quella nuova, creata con un altro effetto e spostare la tua gerarchia nel nuovo contenitore.

Se si utilizza UIVisualEffectsView solo per sfocare tutte le viste alle spalle, è possibile, ad esempio, creare entrambe le viste sfocate nello storyboard, impostarne uno nascosto e modificarne gli stati nascosti in base alle impostazioni dell'utente.

6

Attualmente c'è la possibilità di farlo!

myVisualEffectView.effect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark]; 

È possibile animare questo!

[UIView animateWithDuration:1.0 animations:^{ 
    myVisualEffectView.effect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleExtraLight]; 
}]; 

È anche possibile animare sfocatura aggiungere e rimuovere - quasi come in Spotlight reaveal sulla Springboard! Basta impostare lo stile su zero per rimuovere progressivamente l'effetto sfocatura.

Problemi correlati