65 lines
1.7 KiB
Swift
65 lines
1.7 KiB
Swift
//
|
|
// DiscoverHeadView.swift
|
|
// Crush
|
|
//
|
|
// Created by Leon on 2025/9/8.
|
|
//
|
|
|
|
import JXSegmentedView
|
|
import UIKit
|
|
|
|
class DiscoverHeadView: UIView {
|
|
var banner: DiscoverBanner!
|
|
var leaderboardEntryView: DiscoverHeadLeaderBoardEntryView!
|
|
var heightChangeBlock: ((CGFloat) -> Void)?
|
|
|
|
override init(frame: CGRect) {
|
|
super.init(frame: frame)
|
|
setupViews()
|
|
setupData()
|
|
setupEvent()
|
|
}
|
|
|
|
required init?(coder: NSCoder) {
|
|
fatalError("init(coder:) has not been implemented")
|
|
}
|
|
|
|
private func setupViews() {
|
|
banner = {
|
|
let v = DiscoverBanner()
|
|
addSubview(v)
|
|
v.snp.makeConstraints { make in
|
|
make.leading.trailing.equalToSuperview()
|
|
make.top.equalToSuperview().offset(UIWindow.statusBarHeight + 24)
|
|
}
|
|
return v
|
|
}()
|
|
|
|
leaderboardEntryView = {
|
|
let v = DiscoverHeadLeaderBoardEntryView()
|
|
addSubview(v)
|
|
v.snp.makeConstraints { make in
|
|
//make.top.equalToSuperview().offset(UIWindow.statusBarHeight + 24)
|
|
make.top.equalTo(banner.snp.bottom).offset(24)
|
|
make.leading.equalToSuperview().offset(24)
|
|
make.trailing.equalToSuperview().offset(-24)
|
|
}
|
|
return v
|
|
}()
|
|
}
|
|
|
|
private func setupData() {
|
|
// #warning("test")
|
|
// leaderboardEntryView.topThreeView.showEmpty(true)
|
|
}
|
|
|
|
private func setupEvent() {
|
|
}
|
|
|
|
override func layoutSubviews() {
|
|
super.layoutSubviews()
|
|
let maxY = leaderboardEntryView.frame.maxY + 24
|
|
heightChangeBlock?(maxY)
|
|
}
|
|
}
|