// // BubbleKnowledgeView.swift // QuickLocation // import UIKit final class BubbleKnowledgeView: UIView { lazy var navView = BaseNavigationView(title: "气泡知识") private let gradientLayer: CAGradientLayer = { let layer = CAGradientLayer() layer.colors = [ UIColor(hexStr: "#E7FFF2").cgColor, UIColor.white.cgColor ] layer.locations = [0, 0.28] layer.startPoint = CGPoint(x: 0.5, y: 0) layer.endPoint = CGPoint(x: 0.5, y: 1) return layer }() private let scrollView: UIScrollView = { let view = UIScrollView() view.alwaysBounceVertical = true view.showsVerticalScrollIndicator = false return view }() private let contentImageView: UIImageView = { let view = UIImageView(image: UIImage(named: "Bubble/knowledge")) view.contentMode = .scaleAspectFit return view }() override init(frame: CGRect) { super.init(frame: frame) backgroundColor = .white setupUI() } required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } override func layoutSubviews() { super.layoutSubviews() gradientLayer.frame = bounds } private func setupUI() { layer.insertSublayer(gradientLayer, at: 0) addSubview(navView) navView.layoutChain.top().edgesHorzontal().height(kNaviHeight) addSubview(scrollView) scrollView.layoutChain.topToBottomOfView(navView).edgesHorzontal().bottom() scrollView.addSubview(contentImageView) contentImageView.layoutChain .top(8) .left(16) .right(16) .widthToView(scrollView, offset: -32) .heightToWidth(1450.0 / 676.0) .bottom(24) } }