1.1.6首页小调整

This commit is contained in:
Mr.zhou 2024-08-05 16:25:50 +08:00
parent 188de9fa4f
commit 724e8c2c9f

View File

@ -40,10 +40,19 @@ class MPPositive_HomeViewController: MPPositive_BaseViewController, UIViewContro
label.font = UIFont.boldSystemFont(ofSize: 20*width) label.font = UIFont.boldSystemFont(ofSize: 20*width)
} }
label.textColor = .white label.textColor = .white
label.isUserInteractionEnabled = true
label.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(scrollTopAction(_ :))))
return label return label
}() }()
// //
private lazy var searchView = createSearchView() private lazy var searchView = createSearchView()
//
private var isBuyShow:Bool = true
//
private var lastContentOffset: CGFloat = 0
//
private var isUserDragging:Bool = false
//tableView //tableView
private lazy var tableView:UITableView = { private lazy var tableView:UITableView = {
let tableView = UITableView(frame: .init(x: 0, y: 0, width: screen_Width, height: screen_Height), style: .plain) let tableView = UITableView(frame: .init(x: 0, y: 0, width: screen_Width, height: screen_Height), style: .plain)
@ -263,6 +272,7 @@ class MPPositive_HomeViewController: MPPositive_BaseViewController, UIViewContro
pullDownRefreshCountdown() pullDownRefreshCountdown()
print("下拉刷新超时.") print("下拉刷新超时.")
} }
} }
MPPositive_BrowseLoadViewModel.shared.pullDownRefresh{ MPPositive_BrowseLoadViewModel.shared.pullDownRefresh{
[weak self] in [weak self] in
@ -387,14 +397,60 @@ class MPPositive_HomeViewController: MPPositive_BaseViewController, UIViewContro
} }
} }
iapVC.modalPresentationStyle = .fullScreen iapVC.modalPresentationStyle = .fullScreen
present(iapVC, animated: true) present(iapVC, animated: true)
} }
@objc private func scrollTopAction(_ sender:UITapGestureRecognizer) {
let topOffset = CGPoint(x: 0, y: 0)
tableView.setContentOffset(topOffset, animated: true)
}
} }
//MARK: - tableView //MARK: - tableView
extension MPPositive_HomeViewController: UITableViewDataSource, UITableViewDelegate { extension MPPositive_HomeViewController: UITableViewDataSource, UITableViewDelegate {
// scrollView
func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
isUserDragging = true
lastContentOffset = scrollView.contentOffset.y // lastContentOffset
}
// scrollView
func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
if !decelerate {
isUserDragging = false
}
}
// scrollView
func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
isUserDragging = false
}
func scrollViewDidScroll(_ scrollView: UIScrollView) {
guard isUserDragging, !MPPositive_BrowseLoadViewModel.shared.isRefresh, lastContentOffset >= -(self.tableView.mj_header?.frame.height ?? 0) else { return }
let currentOffset = scrollView.contentOffset.y
let scrollDiff = currentOffset - lastContentOffset
if scrollDiff >= 30 && isBuyShow == true {
//
adjustHeight(to: 50*width)
isBuyShow = false
}else if scrollDiff <= -30 && isBuyShow == false {
//
adjustHeight(to: 90*width)
isBuyShow = true
}
//
lastContentOffset = currentOffset
}
//
func adjustHeight(to height: CGFloat) {
UIView.animate(withDuration: 0.3) {[weak self] in
guard let self = self else {return}
musicLaxLabel.isHidden = !(height > (50*width))
vipImageView.isHidden = !(height > (50*width))
memuBtn.isHidden = !(height > (50*width))
var frame = navView.frame
frame.size.height = height
self.navView.frame = frame
}
}
func numberOfSections(in tableView: UITableView) -> Int { func numberOfSections(in tableView: UITableView) -> Int {
if MPPositive_BrowseLoadViewModel.shared.libraryList.libraryViewModels.isEmpty { if MPPositive_BrowseLoadViewModel.shared.libraryList.libraryViewModels.isEmpty {
return 1 return 1