Commit a00d27a9 authored by pete谢兆麟's avatar pete谢兆麟

四大金刚刷新问题

parent 735690cf
...@@ -17,23 +17,9 @@ class YHFourKingViewController: YHBaseViewController { ...@@ -17,23 +17,9 @@ class YHFourKingViewController: YHBaseViewController {
var dataSouce: [YHHomeListModel?] = [] { var dataSouce: [YHHomeListModel?] = [] {
didSet { didSet {
self.homeTableView.reloadData() self.tableFootView.items = dataSouce
} }
} }
var homeTableView: UITableView = {
let tableView = UITableView(frame: .zero, style: .plain)
if #available(iOS 15.0, *) {
tableView.sectionHeaderTopPadding = 0
}
tableView.backgroundColor = .clear
tableView.separatorStyle = .none
tableView.showsHorizontalScrollIndicator = false
tableView.showsVerticalScrollIndicator = false
tableView.rowHeight = UITableView.automaticDimension
tableView.estimatedRowHeight = 81.0
tableView.register(YHServerHKLifeViewCell.self,forCellReuseIdentifier: YHServerHKLifeViewCell.cellReuseIdentifier)
return tableView
}()
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
...@@ -80,79 +66,35 @@ extension YHFourKingViewController { ...@@ -80,79 +66,35 @@ extension YHFourKingViewController {
guard let self = self else { return } guard let self = self else { return }
self.dataSouce = self.homeViewModel.arrHomeNewsData ?? [] self.dataSouce = self.homeViewModel.arrHomeNewsData ?? []
if self.homeViewModel.hasMoreForHomeNews == false { if self.homeViewModel.hasMoreForHomeNews == false {
self.homeTableView.es.noticeNoMoreData() self.tableFootView.myCollectView.es.noticeNoMoreData()
} }
} }
} }
return view return view
}() }()
view.addSubview(sectionView)
view.addSubview(homeTableView) sectionView.snp.makeConstraints { make in
homeTableView.tableFooterView = tableFootView make.left.right.equalToSuperview()
homeTableView.snp.makeConstraints { make in
make.bottom.left.right.equalToSuperview()
make.top.equalToSuperview().offset(k_Height_NavigationtBarAndStatuBar) make.top.equalToSuperview().offset(k_Height_NavigationtBarAndStatuBar)
make.height.equalTo(48)
} }
homeTableView.delegate = self
homeTableView.dataSource = self
homeTableView.es.addInfiniteScrolling {[weak self] in tableFootView = YHServiceTableFootView()
tableFootView.moreBlock = {[weak self] in
guard let self = self else { return } guard let self = self else { return }
self.homeViewModel.getList(false, self.classId) {[weak self] success, error in self.homeViewModel.getList(false, self.classId) {[weak self] success, error in
guard let self = self else { return } guard let self = self else { return }
self.tableFootView.myCollectView.es.stopLoadingMore()
self.dataSouce = self.homeViewModel.arrHomeNewsData ?? [] self.dataSouce = self.homeViewModel.arrHomeNewsData ?? []
self.homeTableView.es.stopLoadingMore()
if self.homeViewModel.hasMoreForHomeNews == false { if self.homeViewModel.hasMoreForHomeNews == false {
self.homeTableView.es.noticeNoMoreData() self.tableFootView.myCollectView.es.noticeNoMoreData()
} }
} }
} }
} view.addSubview(tableFootView)
} tableFootView.snp.makeConstraints { make in
make.bottom.left.right.equalToSuperview()
// MARK: - UITableViewDelegate 和 UITableViewDataSource make.top.equalToSuperview().offset(k_Height_NavigationtBarAndStatuBar + 48)
extension YHFourKingViewController : UITableViewDelegate,UITableViewDataSource {
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
if sectionView.items.count == 1 {
return 0
} }
return 48
}
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
return sectionView
}
func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return 0.01
}
func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
return UIView()
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return KScreenHeight
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell0 = tableView.dequeueReusableCell(withClass: YHServerHKLifeViewCell.self)
cell0.tableFootView.items = dataSouce
cell0.selectionStyle = .none
return cell0
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
} }
} }
...@@ -48,10 +48,11 @@ class YHServerHKLifeViewController: YHBaseViewController { ...@@ -48,10 +48,11 @@ class YHServerHKLifeViewController: YHBaseViewController {
extension YHServerHKLifeViewController { extension YHServerHKLifeViewController {
func loadData() { func loadData() {
self.tableHeadView.bannarView.dataArr = [YHBannerModel.localDefaultItem()]
homeViewModel.getHomeBanner(2){[weak self] success, error in homeViewModel.getHomeBanner(2){[weak self] success, error in
guard let self = self else { return } guard let self = self else { return }
self.tableHeadView.bannarView.dataArr = self.homeViewModel.banners ?? [] self.tableHeadView.bannarView.dataArr = self.homeViewModel.banners ?? [YHBannerModel.localDefaultItem()]
} }
homeViewModel.getHomeClassify{[weak self] success, error in homeViewModel.getHomeClassify{[weak self] success, error in
...@@ -176,6 +177,9 @@ extension YHServerHKLifeViewController: JXSegmentedListContainerViewListDelegate ...@@ -176,6 +177,9 @@ extension YHServerHKLifeViewController: JXSegmentedListContainerViewListDelegate
} }
class YHServerHKLifeViewCell: UITableViewCell { class YHServerHKLifeViewCell: UITableViewCell {
typealias LoadBlock = () -> ()
var moreBlock: LoadBlock?
static let cellReuseIdentifier = "YHServerHKLifeViewCell" static let cellReuseIdentifier = "YHServerHKLifeViewCell"
var tableFootView: YHServiceTableFootView! var tableFootView: YHServiceTableFootView!
...@@ -215,6 +219,12 @@ extension YHServerHKLifeViewCell { ...@@ -215,6 +219,12 @@ extension YHServerHKLifeViewCell {
backgroundColor = .clear backgroundColor = .clear
contentView.backgroundColor = .clear contentView.backgroundColor = .clear
tableFootView = YHServiceTableFootView() tableFootView = YHServiceTableFootView()
tableFootView.moreBlock = {[weak self] in
guard let self = self else { return }
if let block = self.moreBlock {
block()
}
}
tableFootView.frame = CGRect(x: 0, y: 0, width: KScreenWidth, height: KScreenHeight) tableFootView.frame = CGRect(x: 0, y: 0, width: KScreenWidth, height: KScreenHeight)
contentView.addSubview(tableFootView) contentView.addSubview(tableFootView)
} }
......
...@@ -32,10 +32,11 @@ class YHServiceListViewController: YHBaseViewController { ...@@ -32,10 +32,11 @@ class YHServiceListViewController: YHBaseViewController {
extension YHServiceListViewController { extension YHServiceListViewController {
func loadData() { func loadData() {
self.normalView.tableHeadView.bannarView.dataArr = [YHBannerModel.localDefaultItem()]
homeViewModel.getHomeBanner(1){[weak self] success, error in homeViewModel.getHomeBanner(1){[weak self] success, error in
guard let self = self else { return } guard let self = self else { return }
self.normalView.tableHeadView.bannarView.dataArr = self.homeViewModel.banners ?? [] self.normalView.tableHeadView.bannarView.dataArr = self.homeViewModel.banners ?? [YHBannerModel.localDefaultItem()]
} }
homeViewModel.getHomeClassify{[weak self] success, error in homeViewModel.getHomeClassify{[weak self] success, error in
......
...@@ -55,7 +55,7 @@ class YHServiceTableFootView: UIView { ...@@ -55,7 +55,7 @@ class YHServiceTableFootView: UIView {
myCollectView.es.addInfiniteScrolling {[weak self] in myCollectView.es.addInfiniteScrolling {[weak self] in
guard let self = self else { return } guard let self = self else { return }
if let block = moreBlock { if let block = moreBlock {
block () block()
} }
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment