UIVisualEffectView становится серым (не работает)

Мое приложение имеет интерфейс, который настроен так, что когда я нажимаю кнопку, контроллер представления будет представлен модально. В этом контроллере представления нет ничего, кроме UIVisualEffectView. Когда я запускаю свое приложение, оно работает, но через секунду UIVisualEffectView становится серым. Почему это происходит?

Вот ссылка на GIF-файл, показывающий мою проблему: нажмите здесь, чтобы просмотреть gif


person Tofix    schedule 09.05.2018    source источник
comment
Представьте свой контроллер модального представления в текущем контексте.   -  person badhanganesh    schedule 09.05.2018
comment
Где твой код?   -  person Fogmeister    schedule 17.05.2018
comment
Я создал его с помощью Interface Builder   -  person Tofix    schedule 17.05.2018


Ответы (1)


Проблема в том, как вы представляете свой UIVisualEffectView поверх фона. Поскольку вы используете какую-то полноэкранную презентацию, основной вид перестает обновляться для экономии ресурсов.

Вы должны быть в состоянии заставить это работать, настроив стиль презентации, например:

myEffectView.modalPresentationStyle = .overCurrentContext

Редактировать

Поскольку в комментарии вы сказали, что используете Interface Builder, вы также можете настроить это там, выбрав свой UIViewController, который содержит UIVisualEffectView, и настроив его свойства:

Настройка стиля презентации в Interface Builder

person Alain Stulz    schedule 17.05.2018
comment
@Tofix Круто, тогда вы также можете применить свою награду, чтобы избранная страница была менее загроможденной. :) - person Alain Stulz; 18.05.2018