2016-10-21 22 views
-1

我有一個非常基本的UICollectionView。在我的CollectionViewCell中,我有一個「thumbnailImage」,它只是一個圖像。我想有一個從黑色漸變到漸變色的漸變圖層,但我也希望有一個此CAGradient的UILabel,而不是下面的圖層。標籤是「MovieTitle」。我以編程方式處理所有事情,包括約束。我如何執行此操作?這裏是我的代碼如何在漸變頂部添加標籤?

let myView: UIView = { 
    let view = UIView() 
    return view 
}() 

let gradientView: CAGradientLayer = { 
    let grad = CAGradientLayer() 
    grad.colors = [UIColor.white.cgColor, UIColor.red.cgColor] 
    grad.locations = [0.7, 1.2] 
    return grad 
}() 

func setupViews() { 
    thumbnailImageView.addSubview(movieTitle) 
    addSubview(thumbnailImageView) 
    thumbnailImageView.addSubview(dividerLine) 
    thumbnailImageView.addSubview(myView) 
    myView.layer.addSublayer(gradientView) 

    addConstrainsWithFormat(format: "H:|[v0]|", views: thumbnailImageView) 
    addConstrainsWithFormat(format: "V:|[v0]|", views: thumbnailImageView) 

    thumbnailImageView.addConstrainsWithFormat(format: "H:|[v0]|", views: myView) 
    thumbnailImageView.addConstrainsWithFormat(format: "V:|[v0]|", views: myView) 

    thumbnailImageView.addConstrainsWithFormat(format: "H:|[v0]|", views: dividerLine) 
    thumbnailImageView.addConstrainsWithFormat(format: "V:[v0(0.75)]|", views: dividerLine) 

    thumbnailImageView.addConstrainsWithFormat(format: "H:|-16-[v0]-16-|", views: movieTitle) 
    thumbnailImageView.addConstrainsWithFormat(format: "V:[v0(25)]-8-|", views: movieTitle) 
} 

回答

0

試圖改變你的看法順序,使標籤出現梯度內上述觀點來看:

myView.layer.addSublayer(gradientView) 
thumbnailImageView.addSubview(myView) 
thumbnailImageView.addSubview(movieTitle) 
thumbnailImageView.addSubview(dividerLine) 
addSubview(thumbnailImageView) 

您還可以插入圖層和觀點低於或高於現有的層/您的層級中的視圖:

view.insertSubview(subview, at: 0) 
view.insertSubview(subview, belowSubview: existingView) 
view.insertSubview(subview, aboveSubview: existingView) 

layer.insertSublayer(gradientLayer, at: 0) 
layer.insertSublayer(gradientLayer, below: anotherLayer) 
layer.insertSublayer(gradientLayer, above: anotherLayer) 
相關問題