Commit 3333ca48 authored by pete谢兆麟's avatar pete谢兆麟

手势冲突

parent bfc886a9
......@@ -90,6 +90,7 @@ extension YHServerHKLifeViewController {
guard let self = self else { return }
self.cell.tableFootView.myCollectView.es.resetNoMoreData()
self.cell.tableFootView.myCollectView.setContentOffset(CGPoint.zero, animated: false)
self.setScrollState()
self.classId = model.id
self.homeViewModel.getList(true, model.id) {[weak self] success, error in
guard let self = self else { return }
......@@ -114,6 +115,17 @@ extension YHServerHKLifeViewController {
homeTableView.delegate = self
homeTableView.dataSource = self
}
func setScrollState() {
let offsetY = homeTableView.contentOffset.y
if offsetY >= 365 {
homeTableView.isScrollEnabled = false
cell.tableFootView.myCollectView.isScrollEnabled = true
} else {
homeTableView.isScrollEnabled = true
cell.tableFootView.myCollectView.isScrollEnabled = false
}
}
}
// MARK: - UITableViewDelegate 和 UITableViewDataSource
......@@ -169,15 +181,62 @@ extension YHServerHKLifeViewController : UITableViewDelegate,UITableViewDataSour
})
}
}
cell.scrollBlock = { [weak self] falg in
guard let self = self else { return }
tableView.isScrollEnabled = falg
}
cell.tableFootView.items = dataSouce
// cell.tableFootView.myCollectView.es.removeRefreshFooter()
cell.selectionStyle = .none
cell.tableFootView.myCollectView.isScrollEnabled = false
cell.tableFootView.isNeedScrollBlock = true
return cell
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
}
func scrollViewDidScroll(_ scrollView: UIScrollView) {
if scrollView == homeTableView {
let offsetY = homeTableView.contentOffset.y
if offsetY >= 365 {
homeTableView.isScrollEnabled = false
cell.tableFootView.myCollectView.isScrollEnabled = true
} else {
homeTableView.isScrollEnabled = true
cell.tableFootView.myCollectView.isScrollEnabled = false
}
}
}
func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
// 用户停止拖拽时调用,可以执行一些后续操作
if scrollView == homeTableView {
let offsetY = homeTableView.contentOffset.y
if offsetY >= 365 {
homeTableView.isScrollEnabled = false
cell.tableFootView.myCollectView.isScrollEnabled = true
} else {
homeTableView.isScrollEnabled = true
cell.tableFootView.myCollectView.isScrollEnabled = false
}
}
}
func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
// 滚动减速完成时调用,表示滚动完全停止
if scrollView == homeTableView {
let offsetY = homeTableView.contentOffset.y
if offsetY >= 365 {
homeTableView.isScrollEnabled = false
cell.tableFootView.myCollectView.isScrollEnabled = true
} else {
homeTableView.isScrollEnabled = true
cell.tableFootView.myCollectView.isScrollEnabled = false
}
}
}
}
extension YHServerHKLifeViewController: JXSegmentedListContainerViewListDelegate {
......@@ -189,6 +248,8 @@ extension YHServerHKLifeViewController: JXSegmentedListContainerViewListDelegate
class YHServerHKLifeViewCell: UITableViewCell {
typealias LoadBlock = () -> ()
var moreBlock: LoadBlock?
typealias ScrollBlock = (Bool) -> ()
var scrollBlock: ScrollBlock?
static let cellReuseIdentifier = "YHServerHKLifeViewCell"
var tableFootView: YHServiceTableFootView!
......@@ -235,6 +296,12 @@ extension YHServerHKLifeViewCell {
block()
}
}
tableFootView.scrollBlock = {[weak self] flag in
guard let self = self else { return }
if let block = self.scrollBlock {
block(flag)
}
}
// tableFootView.frame = CGRect(x: 0, y: 0, width: KScreenWidth, height: KScreenHeight)
contentView.addSubview(tableFootView)
tableFootView.snp.makeConstraints { make in
......
......@@ -90,6 +90,7 @@ extension YHServiceListViewController {
guard let self = self else { return }
self.cell.tableFootView.myCollectView.es.resetNoMoreData()
self.cell.tableFootView.myCollectView.setContentOffset(CGPoint.zero, animated: false)
self.setScrollState()
self.classId = model.id
self.homeViewModel.getList(true, model.id) {[weak self] success, error in
guard let self = self else { return }
......@@ -115,6 +116,17 @@ extension YHServiceListViewController {
homeTableView.delegate = self
homeTableView.dataSource = self
}
func setScrollState() {
let offsetY = homeTableView.contentOffset.y
if offsetY >= 365 {
homeTableView.isScrollEnabled = false
cell.tableFootView.myCollectView.isScrollEnabled = true
} else {
homeTableView.isScrollEnabled = true
cell.tableFootView.myCollectView.isScrollEnabled = false
}
}
}
// MARK: - UITableViewDelegate 和 UITableViewDataSource
......@@ -169,14 +181,61 @@ extension YHServiceListViewController : UITableViewDelegate,UITableViewDataSourc
})
}
}
cell.scrollBlock = { [weak self] falg in
guard let self = self else { return }
tableView.isScrollEnabled = falg
}
cell.tableFootView.items = dataSouce
cell.selectionStyle = .none
cell.tableFootView.myCollectView.isScrollEnabled = false
cell.tableFootView.isNeedScrollBlock = true
return cell
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
}
func scrollViewDidScroll(_ scrollView: UIScrollView) {
if scrollView == homeTableView {
let offsetY = homeTableView.contentOffset.y
if offsetY >= 365 {
homeTableView.isScrollEnabled = false
cell.tableFootView.myCollectView.isScrollEnabled = true
} else {
homeTableView.isScrollEnabled = true
cell.tableFootView.myCollectView.isScrollEnabled = false
}
}
}
func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
// 用户停止拖拽时调用,可以执行一些后续操作
if scrollView == homeTableView {
let offsetY = homeTableView.contentOffset.y
if offsetY >= 365 {
homeTableView.isScrollEnabled = false
cell.tableFootView.myCollectView.isScrollEnabled = true
} else {
homeTableView.isScrollEnabled = true
cell.tableFootView.myCollectView.isScrollEnabled = false
}
}
}
func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
// 滚动减速完成时调用,表示滚动完全停止
if scrollView == homeTableView {
let offsetY = homeTableView.contentOffset.y
if offsetY >= 365 {
homeTableView.isScrollEnabled = false
cell.tableFootView.myCollectView.isScrollEnabled = true
} else {
homeTableView.isScrollEnabled = true
cell.tableFootView.myCollectView.isScrollEnabled = false
}
}
}
}
extension YHServiceListViewController: JXSegmentedListContainerViewListDelegate {
......
......@@ -11,7 +11,9 @@ import UIKit
class YHServiceTableFootView: UIView {
typealias LoadBlock = () -> ()
var moreBlock: LoadBlock?
typealias ScrollBlock = (Bool) -> ()
var scrollBlock: ScrollBlock?
var isNeedScrollBlock: Bool = false
var items:[YHHomeListModel?] = [] {
didSet {
self.myCollectView.reloadData()
......@@ -24,12 +26,12 @@ class YHServiceTableFootView: UIView {
flowLayout.minimumInteritemSpacing = 7.0
flowLayout.minimumColumnSpacing = 7.0
flowLayout.sectionInset = UIEdgeInsets(top: 20, left: 20, bottom: 20, right: 20)
let collectinoView = YHGestureCollectionView(frame: .zero, collectionViewLayout: flowLayout)
let collectinoView = UICollectionView(frame: .zero, collectionViewLayout: flowLayout)
collectinoView.backgroundColor = .white
collectinoView.register(YHHomeCollectionViewCell.self, forCellWithReuseIdentifier:YHHomeCollectionViewCell.cellReuseIdentifier)
collectinoView.delegate = self
collectinoView.dataSource = self
// collectinoView.bounces = false
collectinoView.bounces = false
collectinoView.translatesAutoresizingMaskIntoConstraints = false
collectinoView.alwaysBounceVertical = true
collectinoView.showsVerticalScrollIndicator = false
......@@ -103,6 +105,60 @@ extension YHServiceTableFootView: UICollectionViewDelegate, UICollectionViewData
printLog("直接播放视频")
}
}
func scrollViewDidScroll(_ scrollView: UIScrollView) {
if scrollView == myCollectView, isNeedScrollBlock == true {
let offsetY = myCollectView.contentOffset.y
if offsetY <= 0 {
myCollectView.isScrollEnabled = false
if let block = scrollBlock {
block(true)
}
} else {
myCollectView.isScrollEnabled = true
if let block = scrollBlock {
block(false)
}
}
}
}
func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
// 用户停止拖拽时调用,可以执行一些后续操作
if scrollView == myCollectView, isNeedScrollBlock == true {
let offsetY = myCollectView.contentOffset.y
if offsetY <= 0 {
myCollectView.isScrollEnabled = false
if let block = scrollBlock {
block(true)
}
} else {
myCollectView.isScrollEnabled = true
if let block = scrollBlock {
block(false)
}
}
}
}
func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
// 滚动减速完成时调用,表示滚动完全停止
if scrollView == myCollectView, isNeedScrollBlock == true {
let offsetY = myCollectView.contentOffset.y
if offsetY <= 0 {
myCollectView.isScrollEnabled = false
if let block = scrollBlock {
block(true)
}
} else {
myCollectView.isScrollEnabled = true
if let block = scrollBlock {
block(false)
}
}
}
}
}
extension YHServiceTableFootView: CollectionViewWaterfallLayoutDelegate {
......
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