【发布时间】:2021-05-28 16:05:02
【问题描述】:
我在 tableViewCell 中的 CAGradientLayer 看起来像这样。我没有使用 xib 或情节提要,如何应用图层。覆盖框架?
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
//awakefromnib wont work if programmatically
selectionStyle = .none
backgroundColor = .black
self.setupView()
}
override func didMoveToSuperview() {
self.setupGradientlayer()
}
fileprivate func setupGradientlayer() {
gradientlayer.frame = self.bounds
gradientlayer.colors = [UIColor.clear.cgColor, UIColor.secBlack().withAlphaComponent(0.7).cgColor]
gradientlayer.locations = [0.4, 1]
layer.insertSublayer(gradientlayer, above: self.userImg.layer)
}
override func awakeFromNib() {
super.awakeFromNib()
//empty since I'm not using xib or storyboard. only code programmatically
}
【问题讨论】:
-
用draw rect
override func draw(_ rect: CGRect) { super.draw(rect) gradientlayer.frame = self.boundss }更新你的框架
标签: swift uitableview cagradientlayer