91 lines
2.1 KiB
Swift
91 lines
2.1 KiB
Swift
//
|
|
// BRPanModalContentView.swift
|
|
// BeeReel
|
|
//
|
|
// Created by 长沙鸿瑶 on 2025/7/21.
|
|
//
|
|
|
|
import UIKit
|
|
import HWPanModal
|
|
|
|
class BRPanModalContentView: HWPanModalContentView {
|
|
|
|
var contentHeight = UIScreen.height * (2 / 3)
|
|
|
|
var mainScrollView: UIScrollView?
|
|
|
|
///更新UI contentSize发生变化时调用
|
|
func setNeedsLayoutUpdate() {
|
|
self.panModalSetNeedsLayoutUpdate()
|
|
}
|
|
|
|
private(set) lazy var topImageView: UIImageView = {
|
|
let imageView = UIImageView(image: UIImage(named: "highlight_top_image"))
|
|
return imageView
|
|
}()
|
|
|
|
override init(frame: CGRect) {
|
|
super.init(frame: frame)
|
|
backgroundColor = .color1C1C1C()
|
|
|
|
addSubview(topImageView)
|
|
|
|
topImageView.snp.makeConstraints { make in
|
|
make.top.equalToSuperview()
|
|
make.centerX.equalToSuperview()
|
|
}
|
|
}
|
|
|
|
required init?(coder: NSCoder) {
|
|
fatalError("init(coder:) has not been implemented")
|
|
}
|
|
|
|
//MARK: HWPanModalPresentable
|
|
override func panScrollable() -> UIScrollView? {
|
|
return mainScrollView
|
|
}
|
|
|
|
override func longFormHeight() -> PanModalHeight {
|
|
return PanModalHeightMake(.content, contentHeight)
|
|
}
|
|
|
|
override func showDragIndicator() -> Bool {
|
|
return false
|
|
}
|
|
|
|
override func backgroundConfig() -> HWBackgroundConfig {
|
|
let config = HWBackgroundConfig()
|
|
config.backgroundAlpha = 0.0
|
|
return config
|
|
}
|
|
|
|
override func allowsDragToDismiss() -> Bool {
|
|
return false
|
|
}
|
|
|
|
///点击空白处关闭
|
|
override func allowsTapBackgroundToDismiss() -> Bool {
|
|
return true
|
|
}
|
|
|
|
override func allowsPullDownWhenShortState() -> Bool {
|
|
return false
|
|
}
|
|
|
|
override func minVerticalVelocityToTriggerDismiss() -> CGFloat {
|
|
return 0
|
|
}
|
|
|
|
override func showsScrollableVerticalScrollIndicator() -> Bool {
|
|
return false
|
|
}
|
|
|
|
override func springDamping() -> CGFloat {
|
|
return 1
|
|
}
|
|
|
|
override func cornerRadius() -> CGFloat {
|
|
return 24
|
|
}
|
|
}
|