gpt4 book ai didi

ios - 向 UITableViewCell 的 UIView(背景 View )添加子层会覆盖其他单元格 View 吗?

转载 作者:行者123 更新时间:2023-11-28 11:52:42 25 4
gpt4 key购买 nike

我正在尝试向用作 UITableViewCell 背景 (backgroundRect) 的 UIView 添加渐变。我希望渐变绘制在与 backgroundRect 相同的 Z 位置,但是在设备上构建时它会遮挡(在顶部)我的标签和其他 View 。令人困惑的是,当我使用 ViewDebugger 时,它显示我的 View ,就好像它们应该出现在它们后面的渐变层一样?

class NewWorkoutTableViewCell: UITableViewCell {

@IBOutlet weak var backgroundRect: UIView!

@IBOutlet weak var dayOfTheWeekLabel: UILabel!

@IBOutlet weak var sessionTypeLabel: UILabel!
@IBOutlet weak var dateLabel: UILabel!
@IBOutlet weak var sessionTypeImage: UIImageView!

@IBOutlet weak var scoreLabel: UILabel!

override func awakeFromNib() {
super.awakeFromNib()

backgroundRect.layer.cornerRadius = 8.0

backgroundRect.layer.shadowColor = UIColor.black.cgColor
backgroundRect.layer.shadowOpacity = 0.5
backgroundRect.layer.shadowOffset = CGSize(width: 5, height: 5)
backgroundRect.layer.shadowRadius = 5

// this is making a CoreAnimation gradient layer
let gradient = CAGradientLayer() // Line 1

// this is setting the dimensions of the gradient to the
// same as the view that will contain it
gradient.frame = backgroundRect.bounds // Line 2
//gradient.locations = [0.0, 0.35]
gradient.startPoint = CGPoint(x: 0.0, y: 0.5)
gradient.endPoint = CGPoint(x: 1.0, y: 0.5)


let iPhoneForegroundColor = UIColor(red:0.22, green:0.26, blue:0.40, alpha:1.0)

// this is setting the gradient from and to colors
gradient.colors = [UIColor.white.cgColor,iPhoneForegroundColor.cgColor] // Line 3


backgroundRect.layer.addSublayer(gradient) // Line 4


}



}

enter image description here

enter image description here

enter image description here

最佳答案

就用

backgroundRect.layer.insertSublayer(gradient, at: 0) 

而不是使用

backgroundRect.layer.addSublayer(gradient)

关于ios - 向 UITableViewCell 的 UIView(背景 View )添加子层会覆盖其他单元格 View 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51644359/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com