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

处理 首页 UI

parent 7c0264d2
......@@ -19,6 +19,9 @@ class ContentBaseViewController: UIViewController {
}
}
weak var myParentVC : YHHomeViewController?
let arrItemTitles = ["推荐","子女教育","税务规划","民生医疗","成功案例","我的服务","行业资讯","香港生活","你我他","我是很长的tag呀"]
var arrItemVCs : [YHDavidTestViewController] = []
......@@ -43,14 +46,21 @@ class ContentBaseViewController: UIViewController {
//分类title 所对应的VC
lazy var listContainerView: JXSegmentedListContainerView! = {
return JXSegmentedListContainerView(dataSource: self, type: .collectionView)
return JXSegmentedListContainerView(dataSource: self)
}()
override func viewDidLoad() {
super.viewDidLoad()
listContainerView.backgroundColor = .purple//for test hjl
listContainerView.scrollView.backgroundColor = .red //for test hjl
for _ in arrItemTitles {
arrItemVCs.append(YHDavidTestViewController())
let vc = YHDavidTestViewController()
vc.myParentVc = self
arrItemVCs.append(vc)
}
//segmentedViewDataSource一定要通过属性强持有!!!!!!!!!
......@@ -100,6 +110,28 @@ class ContentBaseViewController: UIViewController {
extension ContentBaseViewController: JXSegmentedViewDelegate {
func segmentedView(_ segmentedView: JXSegmentedView, didSelectedItemAt index: Int) {
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
class YHDavidTestViewController: YHBaseViewController {
var vcCanScroll : Bool = true
weak var myParentVc : ContentBaseViewController?
lazy var descripeLable:UILabel = {
let label = UILabel()
......@@ -109,6 +110,15 @@ class YHDavidTestViewController: YHBaseViewController {
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 {
// self.myCollectView.backgroundColor = UIColor.green
self.myCollectView.es.addPullToRefresh {
self.loadFirstItem()
}
self.myCollectView.es.startPullToRefresh()
// self.myCollectView.es.addPullToRefresh {
// self.loadFirstItem()
// }
// self.myCollectView.es.startPullToRefresh()
self.myCollectView.es.addInfiniteScrolling {
self.loadFakeData()
}
......@@ -263,11 +273,13 @@ extension YHDavidTestViewController: UIScrollViewDelegate {
func scrollViewDidScroll(_ scrollView: UIScrollView) {
if scrollView === myCollectView {
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 {//不能滚动时
scrollView.contentOffset = CGPoint(x: -20, y: 0)
printLog("vcCanScroll == false")
// printLog("vcCanScroll == false")
// self.myParentVc?.listContainerView.scrollView.isScrollEnabled = true
} else {
if (scrollViewSet <= 0) {
scrollView.contentOffset = CGPoint(x: -20, y: 0)
......@@ -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 {
var arrItemVc : [UIViewController] = []
var canScroll : Bool = true
var myCellHeight : CGFloat {
get {
return view.bounds.size.height - homeNavBarView.height - k_TabBar_Height - k_Height_NavigationtBarAndStatuBar - cellHeight * 2
......@@ -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(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
initView()
......@@ -143,9 +152,27 @@ class YHHomeViewController: YHBaseViewController {
extension YHHomeViewController {
@objc func leaveTopOp() {
print("leaveTopOp")
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() {
self.homeReqVM.getHomeConfig { flag, error in
if flag == true {
......@@ -327,24 +354,65 @@ extension YHHomeViewController : UITableViewDelegate,UITableViewDataSource {
extension YHHomeViewController: UIScrollViewDelegate {
func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
print("main - scrollViewWillBeginDragging")
}
func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
print("main - scrollViewDidEndDecelerating")
}
func scrollViewDidScroll(_ scrollView: UIScrollView) {
let bottomCellOffset: CGFloat = homeTableView.rect(forSection: 1).origin.y - 64 + 80 - 12
printLog("Main scrollView.contentOffset.y = \(scrollView.contentOffset.y) bottomCellOffset= \(bottomCellOffset)")
if (scrollView.contentOffset.y >= bottomCellOffset) {
scrollView.contentOffset = CGPointMake(0, bottomCellOffset)
if canScroll == true {
canScroll = false
//传递参数到 子VC
cellView.canScroll = true
}
}else{
if canScroll == false {
scrollView.contentOffset = CGPoint(x: 0, y: bottomCellOffset)
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)")
if (scrollView.contentOffset.y >= bottomCellOffset) {
scrollView.contentOffset = CGPointMake(0, bottomCellOffset)
if canScroll == true {
canScroll = false
//传递参数到 子VC
cellView.canScroll = true
}
}else{
if canScroll == false {
scrollView.contentOffset = CGPoint(x: 0, y: bottomCellOffset)
}
}
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 {
make.top.left.right.equalToSuperview()
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 {
return true
}
open override func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
return true
}
// open override func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
// return true
// }
}
......@@ -39,9 +39,9 @@ extension YHGestureScrollView: UIGestureRecognizerDelegate {
return true
}
open override func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
return true
}
// open override func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
// return true
// }
}
......@@ -58,8 +58,8 @@ extension YHGestureCollectionView: UIGestureRecognizerDelegate {
return true
}
open override func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
return true
}
// open override func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
// 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