2016-10-17 3 views
10

Я представляя контроллер представления модальных, который имеет опыт работы с UIVisualEffectView с UIBlurEffect типа .lightзадержка UIVisualEffectView с UIModalTransitionStyle CrossDissolve

Я представляющий контроллер представления модально, как показано ниже:

infoViewController.modalPresentationStyle = .overFullScreen 
infoViewController.modalTransitionStyle = .crossDissolve 
self.present(infoViewController, animated: true, completion: nil) 

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

Это происходит только прошивкой 10 с Swift 3.

Как я могу получить crossDissolve анимации работать вместе с визуальным эффектом зрения на моем infoViewController. Любые предложения/обходные пути?

+0

Ваш код работает отлично с прошивкой 10 (Swift 3) тест проекта , Вы уверены, что не делаете никаких манипуляций с представлением в методах 'viewWillAppear/viewDidAppear'? – alexburtnik

+1

Никаких манипуляций вообще. Для меня крест растворяет анимацию, с которой всплывающее представление оживляет видимость, только после чего внезапно появляется фон uieffect. – mohonish

+0

Можете ли вы обернуть его в тестовый проект, чтобы я мог воспроизвести его и исправить? – alexburtnik

ответ

3

Что я делаю замены crossDisolve с CATransition, как это:

self.present(controller, 
      animated: false, 
      completion: nil) 

let transition = CATransition() 
transition.duration = 0.3 
transition.type = kCATransitionFade 
view.window?.layer.add(transition, forKey: nil) 

Надеется, что это помогает.

+0

Что происходит с анимацией после ее завершения? Если он добавлен к слою, должен ли он быть удален снова или может быть проигнорирован? – Wiingaard

0

Проверьте консул, вы должны увидеть там причину -

< _UIPopoverBackgroundVisualEffectView 0x7fe053562840> спрашивается анимировать его непрозрачность. Это вызовет эффект появляться сломана, пока помутнение не возвращается к 1.

Вы не можете использовать UIVisualEffectView с crossDissolve анимации ...