视图上的Alpha渐变

时间:2016-07-08 13:48:19

标签: ios swift gradient alpha uiblureffect

我的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)

这样可以正常工作并产生以下结果(模糊视图位于顶部):

enter image description here

我想要实现的是让图片和视图之间的过渡更加平滑,以便没有明确的划分两者的界限,我想让模糊的视图具有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消失了。

0 个答案:

没有答案