2015-04-23 7 views
2

Можно ли каким-либо образом изменить стиль эффекта размытия на лету после создания вида?Изменить стиль эффекта размытия на лету

E.g. я создал в режиме размытия Storyboard, но мне нужно изменить стиль эффекта с .Light на .Dark программно.

Я не могу просто воссоздать представление, потому что у меня есть информация в этом представлении и динамические ограничения (в некоторых ситуациях ограничения изменяются при анимации).

+0

я знаю, как добавить, мне нужно изменить эффект без воссоздания вида – Vasily

+0

Хм ... Глядя на документы, кажется, что нет никакого способа изменить эффект размытия на лету. Я бы рекомендовал программно удалить весь UIVisualEffectView и инициализировать новый с другим UIBlurEffect. –

+0

Свойства 'UIVisualEffectView'' effect' и 'contentView' доступны только для чтения, но вы можете повторно использовать' contentView'. –

ответ

1

Так что, принимая ответы, невозможно изменить «на лету». Мне нужно воссоздать представление с новым эффектом или получить contentView от старого эффекта Blur и снова воссоздать его.

0

да, мы можем изменить стиль эффект размытия на лету ... вот код, который вы ищете ....

MyView.effect = UIBlurEffect(style: .light) MyView.effect = UIBlurEffect(style: .dark) MyView.effect = UIBlurEffect(style: .extraLight)

Смежные вопросы