ЕК
XLPagerTabStrip - хорошая библиотека для табов - давно используюSize: a a a
ЕК
XLPagerTabStrip - хорошая библиотека для табов - давно используюSY
NV
SY
NV
SY
SY
AG
class HomeCardImageView: UIImageView {
    
    private var gradientLayer: CAGradientLayer = {
        $0.colors = [UIColor.clear.cgColor, UIColor.black.cgColor]
        $0.locations = [0.0 , 1.0]
//        $0.startPoint = CGPoint(x: 0.5, y: 0.0)
//        $0.endPoint = CGPoint(x: 0.5, y: 1.0)
        $0.contentsGravity = .bottom
        
        return $0
    }(CAGradientLayer())
    
    override init(frame: CGRect) {
        super.init(frame: frame)
        layer.insertSublayer(gradientLayer, at: 0)
    }
    
    required init?(coder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
    override func layoutSubviews() {
        super.layoutSubviews()
        gradientLayer.frame = bounds
        gradientLayer.layoutIfNeeded()
    }
}NV
DK
class HomeCardImageView: UIImageView {
    
    private var gradientLayer: CAGradientLayer = {
        $0.colors = [UIColor.clear.cgColor, UIColor.black.cgColor]
        $0.locations = [0.0 , 1.0]
//        $0.startPoint = CGPoint(x: 0.5, y: 0.0)
//        $0.endPoint = CGPoint(x: 0.5, y: 1.0)
        $0.contentsGravity = .bottom
        
        return $0
    }(CAGradientLayer())
    
    override init(frame: CGRect) {
        super.init(frame: frame)
        layer.insertSublayer(gradientLayer, at: 0)
    }
    
    required init?(coder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
    override func layoutSubviews() {
        super.layoutSubviews()
        gradientLayer.frame = bounds
        gradientLayer.layoutIfNeeded()
    }
}DK
DK
DK
DK

DK
IG
DK
DK
DK