2016-10-04 108 views
-3

我有一个基本的UIView我通过Interface Builder(XIB)创建。淡入淡出UIView的颜色在顶部

我想获得这样的效果(图中:我认为图像以上):

Image 我怎样才能让UIView的背景色上方淡出?

谢谢!

回答

0

你是什么意思是添加“渐变”效果到你的UIView。为此,您需要添加CAGradientLayer,您可以创建类似于此的自定义UIView

class CustomView: UIView { 
    private let gradientLayer = CAGradientLayer() 

    override func awakeFromNib() { 
     super.awakeFromNib() 

     addGradient() 
    } 

    override func layoutSubviews() { 
     super.layoutSubviews() 

     // update gradient 
     gradientLayer.frame = self.bounds 
    } 

    private func addGradient() { 
     // declaring colors for your gradient: 
     // top color is clear 
     let topColor = UIColor.clear.cgColor 
     // bottom color is black 
     let bottomColor = UIColor.black.cgColor 

     gradientLayer.frame = self.frame 

     // add colors to the gradientLayer: 
     gradientLayer.colors = [topColor, bottomColor] 

     // change the startPoint and endPoint to make it appears like it should... 
     gradientLayer.startPoint = CGPoint(x: 1.0, y: 0.0) 
     gradientLayer.endPoint = CGPoint(x: 1.0, y: 1.0) 

     // add the gradient to your view (which in my case is gradientView) 
     self.layer.insertSublayer(gradientLayer, at: 0) 
    } 
}