2016-03-09 2 views
0

У меня есть UIImage, который размыто, как это:UIImage не выцветает в/из когда размытости на

myImageView.image = UIImage(named: imageSet[0]) 
     let blurEffect = UIBlurEffect(style: UIBlurEffectStyle.Light) 
     blurEffectView = UIVisualEffectView(effect: blurEffect) 
     blurEffectView?.frame = view.bounds 
     myImageView.addSubview(blurEffectView!) 

, а затем я хочу, чтобы исчезнуть в новом UIImage как это:

UIView.transitionWithView(self.backgroundImageView, 
     duration:1.0, 
     options: UIViewAnimationOptions.TransitionCrossDissolve, 
     animations: { self.myImageView.image = UIImage(named: self.imageSet[randomInt] 
     }, 
     completion: nil) 

и проблема в том, что новое изображение просто появляется, а не исчезает. Если я отключу размытие, изображения будут исчезать и выходить. Что я делаю неправильно?

ответ

1

Вы добавите blurEffectView как подвид из myImageView, но вы не можете изменить альфа или дать анимацию UIBlurEffect ни UIVisualEffectView. Вместо этого добавьте новый UIView с тем же фреймом и ограничениями, что и ваш объект imageView, а затем добавьте свои эффекты в качестве подзадачи объекта UIView;

myImageView.image = UIImage(named: imageSet[0]) 
let animationView = UIView(frame: myImageView.bounds) 
animationView.backgroundColor = .clearColor() 
blurEffectView = UIVisualEffectView(effect: UIBlurEffect(style:.Light)) 
blurEffectView?.frame = animationView.bounds 
view.addSubview(animationView) 
animationView.addSubview(blurEffectView!) 
+0

Я добавлял 'blurEffectView' в' myImageView', потому что в моем UIView у меня есть 'UIView' перед' myImageView'. Теперь ваш метод работает, но поскольку я добавляю blurr в 'UIView', это представление также размывается. Любые идеи, как принести этот вид перед размытым изображением, который исчезает в/из? – Xernox