68 lines
1.8 KiB
Swift
68 lines
1.8 KiB
Swift
//
|
|
// 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)
|
|
}
|
|
}
|