Я хочу исчезать UIVisualEffectsView с UIBlurEffect в и:Как вывести и отобразить UIVisualEffectView и/или UIBlurEffect?
var blurEffect = UIBlurEffect(style: UIBlurEffectStyle.Dark)
var blurEffectView = UIVisualEffectView()
blurEffectView = UIVisualEffectView(effect: blurEffect)
Я использую обычную анимацию в функции, вызываемой с помощью UIButton
угасать его, то же самым для выведения но .alpha = 0
& hidden = true
:
UIView.animateWithDuration(1, delay:0, options: .CurveEaseOut, animations: {
self.blurEffectView.alpha = 1
}, completion: { finished in
self.blurEffectView.hidden = false
})
Теперь замирания в обоих направлениях делает работу, но он дает мне ошибку, когда угасание из: <UIVisualEffectView 0x7fdf5bcb6e80> is being asked to animate its opacity. This will cause the effect to appear broken until opacity returns to 1.
Вопрос
Как успешно исчезать UIVisualEffectsView в и без нарушения это и имеет затухающий переход?
Примечание
- Я пытался поставить UIVisualEffectView в UIView и исчезать, что один, ни успеха
Вы можете избежать ошибки: 1. НЕ присваивать начальный стиль blurEffect. т. е. var blurEffectView = UIVisualEffectView(), а затем 2. назначить blurEffect блоку анимации blurEffectView INSIDE. 3. Анимирование «назначение blurEffect для blurEffectView» выполняется вместо настроек blurEffectView.alpha. ** Ошибка появится, даже если вы назначили начальное значение, ноль, а затем добавите его обратно. Таким образом, ключом к предотвращению ошибки является не присвоение эффекта blurEffectView до блока анимации. – ObjectiveTC
Также необходимо отметить, что blurEffectView должен иметь альфа = 1.0, чтобы избежать ошибки. Повреждение с альфой каким-либо образом приведет к ошибке. Например, перед блоком анимации вы устанавливаете blurEffectView.alpha = 0,7, то в анимационном блоке вы назначаете blurEffectView.effect = blurEffect, возникает ошибка. – ObjectiveTC