我的UIView
blurEffect
定义如下:
var blurEffect = UIBlurEffect(style: UIBlurEffectStyle.Light)
let blurEffectView = UIVisualEffectView(effect: blurEffect)
blurEffectView.frame = containerBar.bounds
blurEffectView.autoresizingMask = [.FlexibleWidth, .FlexibleHeight]
self.containerBar.insertSubview(blurEffectView, atIndex: 1) //if you have more UIViews, use an insertSubview API to place it where needed
self.containerBar.sendSubviewToBack(blurEffectView)
这样可以正常工作并产生以下结果(模糊视图位于顶部):
我想要实现的是让图片和视图之间的过渡更加平滑,以便没有明确的划分两者的界限,我想让模糊的视图具有alpha
渐变从1.0
开始,然后转到模糊视图底部的0.0
(与颜色渐变相同的想法)。这将使过渡更加渐进和顺利,但我不确定如何实现这种α梯度。
我添加了以下代码:
let gradientLayer = CAGradientLayer()
gradientLayer.frame = containerBar.bounds;
gradientLayer.colors = [UIColor.whiteColor().CGColor, UIColor.clearColor().CGColor]
gradientLayer.startPoint = CGPointMake(0.8, 1.0)
gradientLayer.endPoint = CGPointMake(1.0, 1.0)
blurEffectView.layer.mask = gradientLayer;
正如重复问题所暗示的那样,所有这些都使得整个blurView消失了。