Почему мой модально представленный вид UIVisualEffect выполнен в темно-сером цвете?


Я пытаюсь использовать UIVisualEffectView на моем модально представленном представлении, которое будет иметь вид входа для пользователя.Я действительно не знаю, что происходит с UIVisualEffectView.Когда появляется модальная анимация, она работает нормально.Но, когда анимация была сделана, эффект превратился в темно-серый,какая-нибудь помощь в этом?Я слишком долго с этим возился.

Мой симулятор, тоже бывает на айфоне

Моя Раскадровка

Пожалуйста, Помогите?

Вот мой исходный код, Скачать

3 3

3 ответа:

Лежащие в основе представления исчезнут, как только модальный покроет их. Чтобы этого не произошло, необходимо установить UIModalPresentationStyle контроллера модального вида в OverCurrentContext:

ModalVC.modalPresentationStyle = UIModalPresentationStyle.OverCurrentContext

Приведенный выше ответ верен, но в моем случае мой контроллер вида встроен в навигационный контроллер, поэтому он не работал. Это делает:

vc.navigationController?.modalPresentationStyle = .overCurrentContext

Я думаю, проблема в том, что вы не представляете свой UIVisualEffectsView модально, но контроллер вида, поэтому серый цвет, который вы видите, является фоновым цветом правого контроллера вида. Вы можете изменить его на тот же градиент, что и левый, и посмотреть, работает ли он, или вам нужно будет отобразить UIVisualEffectsView на вашем первом viewcontroller.