Commit 9d7d3720 authored by David黄金龙's avatar David黄金龙

处理 首页 UI

parent 7c0264d2
...@@ -19,6 +19,9 @@ class ContentBaseViewController: UIViewController { ...@@ -19,6 +19,9 @@ class ContentBaseViewController: UIViewController {
} }
} }
weak var myParentVC : YHHomeViewController?
let arrItemTitles = ["推荐","子女教育","税务规划","民生医疗","成功案例","我的服务","行业资讯","香港生活","你我他","我是很长的tag呀"] let arrItemTitles = ["推荐","子女教育","税务规划","民生医疗","成功案例","我的服务","行业资讯","香港生活","你我他","我是很长的tag呀"]
var arrItemVCs : [YHDavidTestViewController] = [] var arrItemVCs : [YHDavidTestViewController] = []
...@@ -43,14 +46,21 @@ class ContentBaseViewController: UIViewController { ...@@ -43,14 +46,21 @@ class ContentBaseViewController: UIViewController {
//分类title 所对应的VC //分类title 所对应的VC
lazy var listContainerView: JXSegmentedListContainerView! = { lazy var listContainerView: JXSegmentedListContainerView! = {
return JXSegmentedListContainerView(dataSource: self, type: .collectionView) return JXSegmentedListContainerView(dataSource: self)
}() }()
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
listContainerView.backgroundColor = .purple//for test hjl
listContainerView.scrollView.backgroundColor = .red //for test hjl
for _ in arrItemTitles { for _ in arrItemTitles {
arrItemVCs.append(YHDavidTestViewController()) let vc = YHDavidTestViewController()
vc.myParentVc = self
arrItemVCs.append(vc)
} }
//segmentedViewDataSource一定要通过属性强持有!!!!!!!!! //segmentedViewDataSource一定要通过属性强持有!!!!!!!!!
...@@ -100,6 +110,28 @@ class ContentBaseViewController: UIViewController { ...@@ -100,6 +110,28 @@ class ContentBaseViewController: UIViewController {
extension ContentBaseViewController: JXSegmentedViewDelegate { extension ContentBaseViewController: JXSegmentedViewDelegate {
func segmentedView(_ segmentedView: JXSegmentedView, didSelectedItemAt index: Int) { func segmentedView(_ segmentedView: JXSegmentedView, didSelectedItemAt index: Int) {
navigationController?.interactivePopGestureRecognizer?.isEnabled = (segmentedView.selectedIndex == 0) navigationController?.interactivePopGestureRecognizer?.isEnabled = (segmentedView.selectedIndex == 0)
// self.myParentVC?.tableViewCanScrollFlag = true
}
func segmentedView(_ segmentedView: JXSegmentedView, didScrollSelectedItemAt index: Int) {
printLog("hjl- didScrollSelectedItemAt ")
// self.myParentVC?.tableViewCanScrollFlag = true
}
/// 正在滚动中的回调
///
/// - Parameters:
/// - segmentedView: JXSegmentedView
/// - leftIndex: 正在滚动中,相对位置处于左边的index
/// - rightIndex: 正在滚动中,相对位置处于右边的index
/// - percent: 从左往右计算的百分比
func segmentedView(_ segmentedView: JXSegmentedView, scrollingFrom leftIndex: Int, to rightIndex: Int, percent: CGFloat) {
printLog("hjl- scrollingFrom [\(percent)] leftIndex=\(leftIndex) rightIndex=\(rightIndex)")
// self.myParentVC?.tableViewCanScrollFlag = false
} }
} }
......
...@@ -13,6 +13,7 @@ import GKNavigationBarSwift ...@@ -13,6 +13,7 @@ import GKNavigationBarSwift
class YHDavidTestViewController: YHBaseViewController { class YHDavidTestViewController: YHBaseViewController {
var vcCanScroll : Bool = true var vcCanScroll : Bool = true
weak var myParentVc : ContentBaseViewController?
lazy var descripeLable:UILabel = { lazy var descripeLable:UILabel = {
let label = UILabel() let label = UILabel()
...@@ -109,6 +110,15 @@ class YHDavidTestViewController: YHBaseViewController { ...@@ -109,6 +110,15 @@ class YHDavidTestViewController: YHBaseViewController {
gk_navigationBar.isHidden = true gk_navigationBar.isHidden = true
self.items = [AboutAdvantageItem(iconName: "about_match", title: "精准匹配", detail: "大数据精准匹配,专属方案获批率更高"),
AboutAdvantageItem(iconName: "about_match", title: "精准匹配", detail: "大数据精准匹配,专属方案获批率更高"),
AboutAdvantageItem(iconName: "about_match", title: "精准匹配", detail: "大数据精准匹配,专属方案获批率更高"),
AboutAdvantageItem(iconName: "about_match", title: "精准匹配", detail: "大数据精准匹配,专属方案获批率更高"),
AboutAdvantageItem(iconName: "about_match", title: "精准匹配", detail: "大数据精准匹配,专属方案获批率更高")]
// self.myCollectView.es.stopPullToRefresh(ignoreDate: true,ignoreFooter: false)
self.myCollectView.reloadData()
} }
} }
...@@ -218,10 +228,10 @@ extension YHDavidTestViewController { ...@@ -218,10 +228,10 @@ extension YHDavidTestViewController {
// self.myCollectView.backgroundColor = UIColor.green // self.myCollectView.backgroundColor = UIColor.green
self.myCollectView.es.addPullToRefresh { // self.myCollectView.es.addPullToRefresh {
self.loadFirstItem() // self.loadFirstItem()
} // }
self.myCollectView.es.startPullToRefresh() // self.myCollectView.es.startPullToRefresh()
self.myCollectView.es.addInfiniteScrolling { self.myCollectView.es.addInfiniteScrolling {
self.loadFakeData() self.loadFakeData()
} }
...@@ -263,11 +273,13 @@ extension YHDavidTestViewController: UIScrollViewDelegate { ...@@ -263,11 +273,13 @@ extension YHDavidTestViewController: UIScrollViewDelegate {
func scrollViewDidScroll(_ scrollView: UIScrollView) { func scrollViewDidScroll(_ scrollView: UIScrollView) {
if scrollView === myCollectView { if scrollView === myCollectView {
let scrollViewSet: CGFloat = scrollView.contentOffset.y let scrollViewSet: CGFloat = scrollView.contentOffset.y
printLog("subTableView --- scrollView.contentOffset.y = \(scrollViewSet) scrollView.contentOffset.x = \(scrollView.contentOffset.y)") // printLog("subTableView --- scrollView.contentOffset.y = \(scrollViewSet) scrollView.contentOffset.x = \(scrollView.contentOffset.y)")
if vcCanScroll == false {//不能滚动时 if vcCanScroll == false {//不能滚动时
scrollView.contentOffset = CGPoint(x: -20, y: 0) scrollView.contentOffset = CGPoint(x: -20, y: 0)
printLog("vcCanScroll == false") // printLog("vcCanScroll == false")
// self.myParentVc?.listContainerView.scrollView.isScrollEnabled = true
} else { } else {
if (scrollViewSet <= 0) { if (scrollViewSet <= 0) {
scrollView.contentOffset = CGPoint(x: -20, y: 0) scrollView.contentOffset = CGPoint(x: -20, y: 0)
...@@ -279,4 +291,19 @@ extension YHDavidTestViewController: UIScrollViewDelegate { ...@@ -279,4 +291,19 @@ extension YHDavidTestViewController: UIScrollViewDelegate {
} }
} }
} }
func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
if scrollView === myCollectView {
// printLog("hjl*****开始滚动")
}
}
func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
if scrollView === myCollectView {
self.myParentVc?.listContainerView.scrollView.isScrollEnabled = true
// printLog("hjl*****停止滚动")
}
}
} }
...@@ -17,6 +17,8 @@ class YHHomeViewController: YHBaseViewController { ...@@ -17,6 +17,8 @@ class YHHomeViewController: YHBaseViewController {
var arrItemVc : [UIViewController] = [] var arrItemVc : [UIViewController] = []
var canScroll : Bool = true var canScroll : Bool = true
var myCellHeight : CGFloat { var myCellHeight : CGFloat {
get { get {
return view.bounds.size.height - homeNavBarView.height - k_TabBar_Height - k_Height_NavigationtBarAndStatuBar - cellHeight * 2 return view.bounds.size.height - homeNavBarView.height - k_TabBar_Height - k_Height_NavigationtBarAndStatuBar - cellHeight * 2
...@@ -126,6 +128,13 @@ class YHHomeViewController: YHBaseViewController { ...@@ -126,6 +128,13 @@ class YHHomeViewController: YHBaseViewController {
NotificationCenter.default.addObserver(self, selector: #selector(leaveTopOp), name:Notification.Name(rawValue: "leaveTop"), object: nil) NotificationCenter.default.addObserver(self, selector: #selector(leaveTopOp), name:Notification.Name(rawValue: "leaveTop"), object: nil)
// NotificationCenter.default.addObserver(self, selector: #selector(beginDragging), name:Notification.Name(rawValue: "scrollViewWillBeginDragging"), object: nil)
//
//
// NotificationCenter.default.addObserver(self, selector: #selector(endDragging), name:Notification.Name(rawValue: "scrollViewDidEndDragging"), object: nil)
// cellView.myParentVC = self
//1.UI //1.UI
initView() initView()
...@@ -143,9 +152,27 @@ class YHHomeViewController: YHBaseViewController { ...@@ -143,9 +152,27 @@ class YHHomeViewController: YHBaseViewController {
extension YHHomeViewController { extension YHHomeViewController {
@objc func leaveTopOp() { @objc func leaveTopOp() {
print("leaveTopOp")
canScroll = true canScroll = true
} }
@objc func beginDragging() {
print("beginDragging")
homeTableView.isScrollEnabled = false
canScroll = false
cellView.canScroll = false
}
@objc func endDragging() {
print("endDragging")
homeTableView.isScrollEnabled = true
canScroll = true
cellView.canScroll = true
}
private func requestData() { private func requestData() {
self.homeReqVM.getHomeConfig { flag, error in self.homeReqVM.getHomeConfig { flag, error in
if flag == true { if flag == true {
...@@ -327,8 +354,20 @@ extension YHHomeViewController : UITableViewDelegate,UITableViewDataSource { ...@@ -327,8 +354,20 @@ extension YHHomeViewController : UITableViewDelegate,UITableViewDataSource {
extension YHHomeViewController: UIScrollViewDelegate { extension YHHomeViewController: UIScrollViewDelegate {
func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
print("main - scrollViewWillBeginDragging")
}
func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
print("main - scrollViewDidEndDecelerating")
}
func scrollViewDidScroll(_ scrollView: UIScrollView) { func scrollViewDidScroll(_ scrollView: UIScrollView) {
let bottomCellOffset: CGFloat = homeTableView.rect(forSection: 1).origin.y - 64 + 80 - 12
if scrollView === homeTableView {
let bottomCellOffset: CGFloat = homeTableView.rect(forSection: 1).origin.y - 64 + 80 - 12 //48
printLog("Main scrollView.contentOffset.y = \(scrollView.contentOffset.y) bottomCellOffset= \(bottomCellOffset)") printLog("Main scrollView.contentOffset.y = \(scrollView.contentOffset.y) bottomCellOffset= \(bottomCellOffset)")
if (scrollView.contentOffset.y >= bottomCellOffset) { if (scrollView.contentOffset.y >= bottomCellOffset) {
...@@ -345,6 +384,35 @@ extension YHHomeViewController: UIScrollViewDelegate { ...@@ -345,6 +384,35 @@ extension YHHomeViewController: UIScrollViewDelegate {
} }
} }
self.homeTableView.showsVerticalScrollIndicator = canScroll ? true : false self.homeTableView.showsVerticalScrollIndicator = canScroll ? true : false
}
} }
// func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
//// cellView.segmentedView.selectItemAt(index: 2)
////
//// DispatchQueue.main.asyncAfter(wallDeadline: .now() + 0.25) { [weak self] in
//// self?.cellView.listContainerView.scrollView.isScrollEnabled = false
//// }
//
// cellView.listContainerView.scrollView.isScrollEnabled = false
// }
//
// func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
// cellView.listContainerView.scrollView.isScrollEnabled = true
// }
} }
//extension JXSegmentedListContainerView : UIScrollViewDelegate {
// public func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
// print("kkkkkkkkk")
// }
//
// public func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
// print("jjjjjjj")
// }
//}
...@@ -56,5 +56,30 @@ class YHDavidCell3: UITableViewCell { ...@@ -56,5 +56,30 @@ class YHDavidCell3: UITableViewCell {
make.top.left.right.equalToSuperview() make.top.left.right.equalToSuperview()
make.height.equalTo(138) make.height.equalTo(138)
} }
let bbxLable = UILabel()
bbxLable.text = "银河推荐官"
bbxLable.textColor = UIColor(red: 0.2, green: 0.2, blue: 0.2, alpha: 1)
bbxLable.font = kFont(size: 18)
subContentView.addSubview(bbxLable)
bbxLable.snp.makeConstraints { make in
make.top.equalTo(13)
make.left.equalTo(25)
}
let desLable = UILabel()
desLable.text = "邀请拉新,合作共赢"
desLable.frame = CGRect(x: 0, y: 0, width: 141.5, height: 11.5)
desLable.textColor = UIColor(red: 0.592, green: 0.592, blue: 0.592, alpha: 1)
desLable.font = kFont(size: 10)
subContentView.addSubview(desLable)
desLable.snp.makeConstraints { make in
make.left.equalTo(bbxLable.snp.right).offset(11)
make.centerY.equalTo(bbxLable)
}
} }
} }
...@@ -19,9 +19,9 @@ extension YHGestureTableView: UIGestureRecognizerDelegate { ...@@ -19,9 +19,9 @@ extension YHGestureTableView: UIGestureRecognizerDelegate {
return true return true
} }
open override func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool { // open override func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
return true // return true
} // }
} }
...@@ -39,9 +39,9 @@ extension YHGestureScrollView: UIGestureRecognizerDelegate { ...@@ -39,9 +39,9 @@ extension YHGestureScrollView: UIGestureRecognizerDelegate {
return true return true
} }
open override func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool { // open override func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
return true // return true
} // }
} }
...@@ -58,8 +58,8 @@ extension YHGestureCollectionView: UIGestureRecognizerDelegate { ...@@ -58,8 +58,8 @@ extension YHGestureCollectionView: UIGestureRecognizerDelegate {
return true return true
} }
open override func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool { // open override func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
return true // return true
} // }
} }
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