Commit 8ae10b353cc0c662aae6dab41a68bf26fe358140

Authored by liushiyu
2 parents 84517028 66c6f404
metaCode/Classes/Main/HomePage/Controller/AuthMainController/CNMetaCodeHomePageController.swift
... ... @@ -500,9 +500,27 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel
500 500 //让背景view也跟随scrollView平移量的3倍速进行移动
501 501 self.backgroupView.top = -fabsOffset*3
502 502 }
503   -
504   -
  503 + func customIndexViewDidEndDragging(scrollView: UIScrollView, decelerate: Bool) {
  504 + print("EndDragging\(scrollView.contentOffset.y)")
  505 + if decelerate == false{
  506 + //慢拖动时处理
  507 + if scrollView.contentOffset.y > 0 && scrollView.contentOffset.y < KSreenHeight/2{
  508 + scrollView.setContentOffset(CGPoint(x: scrollView.contentOffset.x, y: 0), animated: true)
  509 + }else if scrollView.contentOffset.y >= KSreenHeight/2 && scrollView.contentOffset.y < KSreenHeight+KSreenHeight/2{
  510 + scrollView.setContentOffset(CGPoint(x: scrollView.contentOffset.x, y: KSreenHeight), animated: true)
  511 + }else if scrollView.contentOffset.y >= KSreenHeight+KSreenHeight/2 && scrollView.contentOffset.y < KSreenHeight*2+KSreenHeight/2{
  512 + scrollView.setContentOffset(CGPoint(x: scrollView.contentOffset.x, y: KSreenHeight*2), animated: true)
  513 + }else{
  514 +
  515 + }
  516 +
  517 + }else{
  518 +
  519 + }
  520 + }
505 521 func customIndexViewDidEndScroll(scrollView: UIScrollView) {
  522 + print("EndScroll\(scrollView.contentOffset.y)")
  523 +
506 524 if scrollView.contentOffset.y == 0{//下滑页
507 525 self.tabBarController?.tabBar.isHidden = true
508 526 vNumPage = .VNumPageDown
... ...
metaCode/Classes/Main/HomePage/Controller/DownSlideController/CNUpSlideViewController.swift
... ... @@ -74,6 +74,7 @@ class CNUpSlideViewController: CNLiveBaseViewController,UITableViewDelegate,UITa
74 74 tableView.dataSource = self
75 75 tableView.delegate = self
76 76 tableView.separatorStyle = .none
  77 + tableView.bounces = false
77 78 // tableView.register(CNDownSlideSingleCourseCell.self, forCellReuseIdentifier: kCNLiveDownSlideCellIdentifier)
78 79 tableView.register(CNLiveDownSlideRecommendCell.self, forCellReuseIdentifier: kCNLiveDownSlideRecommendCellIdentifier)
79 80 tableView.register(CNLiveDownSlideTodayRecommendCell.self, forCellReuseIdentifier: kCNLiveDownSlideTodayRecommendCellIdentifier)
... ...
metaCode/Classes/Main/HomePage/View/VerticalViews/CNCustomIndexView.swift
... ... @@ -72,12 +72,13 @@ class CNCustomIndexTopView : UIView{
72 72  
73 73 protocol CNCustomIndexViewDelegate:NSObjectProtocol{
74 74 /// 当前scrollView 将要开始滚动
75   - func customIndexViewWillBeiginScroll(scrollView :UIScrollView);
  75 + func customIndexViewWillBeiginScroll(scrollView :UIScrollView)
76 76 ///当前scrollView 滚动中
77   - func customIndexViewDidScroll(scrollView :UIScrollView);
78   - ///当前scrollView 已经结束滚动
79   - func customIndexViewDidEndScroll(scrollView :UIScrollView);
80   -
  77 + func customIndexViewDidScroll(scrollView :UIScrollView)
  78 + ///当前scrollView 已经结束滚动(清扫 减速的结束)
  79 + func customIndexViewDidEndScroll(scrollView :UIScrollView)
  80 + ///当前scrollView 已经结束拖拽滚动(慢拖动结束)
  81 + func customIndexViewDidEndDragging(scrollView :UIScrollView,decelerate:Bool)
81 82 }
82 83  
83 84 class CNCustomIndexView:PGIndexBannerSubiew, UIScrollViewDelegate, WJColorChangeDelegate{
... ... @@ -302,8 +303,7 @@ class CNCustomIndexView:PGIndexBannerSubiew, UIScrollViewDelegate, WJColorChange
302 303  
303 304 ///WJColorChange 代理方法 滚动时候回调 传出当前的滚动视图
304 305 func wjColorScrollViewScroll(_ scrollView: UIScrollView!) {
305   -
306   - let tag: NSInteger = self.tag
  306 + let tag: NSInteger = self.tag
307 307 let defaultOffset: CGFloat = self.frame.size.height
308 308  
309 309 let currentOffset: CGFloat = scrollView.contentOffset.y
... ... @@ -323,7 +323,7 @@ class CNCustomIndexView:PGIndexBannerSubiew, UIScrollViewDelegate, WJColorChange
323 323 }
324 324  
325 325 //当self.baseScrollView的偏移量大于 self.baseScrollView.height时,显示上滑提醒view
326   - if(currentOffset > self.baseScrollView.height){
  326 + if(currentOffset >= self.baseScrollView.height){
327 327 self.upSlideViewRemindView.top = self.height - (currentOffset - self.baseScrollView.height)*1.5
328 328 }
329 329 //上滑滑动到临近值,让upSlideViewRemindView位置一直停留在底部,并慢慢消失
... ... @@ -351,29 +351,8 @@ class CNCustomIndexView:PGIndexBannerSubiew, UIScrollViewDelegate, WJColorChange
351 351 let downSlideViewRemindViewMinOffset: CGFloat = self.baseScrollView.height-self.downSlideViewRemindView.height
352 352 self.downSlideViewRemindView.alpha = (20-(downSlideViewRemindViewMinOffset - currentOffset))/20.00
353 353  
354   - //让系统及时更新downSlideViewRemindView
355   -// self.downSlideViewRemindView.setNeedsLayout()
356   -// self.downSlideViewRemindView.layoutIfNeeded()
357 354 }
358   -
359   -
360   - /**控制缩放范围在一定范围*/
361   -// let mainViewOffset:CGFloat = abs(currentOffset - self.baseScrollView.height)
362   -// if (mainViewOffset < 100) {
363   -// var scale: CGFloat = 1.0
364   -//
365   -// if (currentOffset < self.baseScrollView.height) {
366   -// //下滑时,计算scale方法
367   -// scale = currentOffset/self.baseScrollView.height
368   -// }
369   -// else {
370   -// //上滑时,计算scale方法
371   -// scale = self.baseScrollView.height/currentOffset
372   -// }
373   -//
374   -// self.mainView.scaledView(scale: scale)
375   -// }
376   -
  355 +
377 356 /**隐藏顶部导航**/
378 357 let topNavViewAlpha: CGFloat = 1.0 - (self.baseScrollView.height * 2 - currentOffset)/(self.baseScrollView.height*0.5)
379 358 if(topNavViewAlpha > 0){
... ... @@ -397,10 +376,23 @@ class CNCustomIndexView:PGIndexBannerSubiew, UIScrollViewDelegate, WJColorChange
397 376  
398 377 }
399 378  
  379 + //结束拖拽时 , 慢拖动时不走wjColorEndScroll 走本方法
  380 + func wjColorScrollViewDidEndDragging(_ scrollView: UIScrollView!, decelerate: Bool) {
  381 + self.wjColorEndScrollOrEndDragging(scrollView)
  382 + //外部代理
  383 + self.delegate?.customIndexViewDidEndDragging(scrollView: scrollView, decelerate: decelerate)
  384 + }
  385 +
400 386 ///WJColorChange 代理方法 滚动结束时候回调
401 387 func wjColorEndScroll(_ scrollView: UIScrollView!) {
402   -
403   -
  388 +
  389 + self.wjColorEndScrollOrEndDragging(scrollView)
  390 + //外部代理
  391 + self.delegate?.customIndexViewDidEndScroll(scrollView: scrollView)
  392 + }
  393 +
  394 + //公用方法
  395 + func wjColorEndScrollOrEndDragging(_ scrollView: UIScrollView!){
404 396 let defaultOffset: CGFloat = self.frame.size.height
405 397  
406 398 let currentOffset: CGFloat = scrollView.contentOffset.y
... ... @@ -440,9 +432,7 @@ class CNCustomIndexView:PGIndexBannerSubiew, UIScrollViewDelegate, WJColorChange
440 432  
441 433 //下滑提醒View回到初始位置
442 434 self.downSlideViewRemindView.top = -(self.downSlideViewRemindView.height + 50)
443   -
444   - //外部代理
445   - self.delegate?.customIndexViewDidEndScroll(scrollView: scrollView)
  435 +
446 436 }
447 437  
448 438 }
... ...
metaCode/Classes/Main/HomePage/View/VerticalViews/DownSlide/CNDownSlideView.swift
... ... @@ -142,21 +142,21 @@ class CNDownSlideView:UIView{
142 142 backBtn.addTarget(self, action: #selector(backBtnAction), for: .touchUpInside)
143 143 backBtn.imageEdgeInsets = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 8)
144 144 bottomView.addSubview(backBtn)
145   -
  145 + bottomView.isUserInteractionEnabled = true
146 146 return bottomView
147 147 }()
148 148  
149 149 override init(frame: CGRect) {
150 150 super.init(frame: frame)
151 151  
152   - let tap = UITapGestureRecognizer.init(target: self, action: #selector(slideViewTap))
153   - tap.cancelsTouchesInView = false
154   - self.addGestureRecognizer(tap)
  152 +// let tap = UITapGestureRecognizer.init(target: self, action: #selector(slideViewTap))
  153 +// tap.cancelsTouchesInView = false
  154 +// self.addGestureRecognizer(tap)
155 155 self.initUI()
156 156 }
157   - @objc func slideViewTap() {
158   - print("slideViewTap")
159   - }
  157 +// @objc func slideViewTap() {
  158 +// print("slideViewTap")
  159 +// }
160 160 required init?(coder: NSCoder) {
161 161 fatalError("init(coder:) has not been implemented")
162 162 }
... ...
metaCode/Classes/Main/HomePage/View/VerticalViews/MainView/CNIDCardView.swift
... ... @@ -63,31 +63,35 @@ class CNIDCardView: UIView{
63 63 hiddenLoading()
64 64 if respStatue == .success {
65 65 let cardArray = result as! NSMutableArray
66   - for i in (0..<cardArray.count){
67   - let idCardModel = cardArray[i] as! MineStandInfoModel
68   - switch idCardModel.name {
69   - case "姓名":
70   - self.nameValueLabel.text = idCardModel.userInfo
71   - case "性别":
72   - self.sexValueLabel.text = idCardModel.userInfo
73   - case "认证时间":
74   - self.dateValueLabel.text = idCardModel.userInfo
75   - case "编号":
76   - self.IDValueLabel.text = idCardModel.userInfo
77   - case "证件照":
78   - let str:String = idCardModel.userInfo!
79   - if(str.isEmpty){
80   - self.iDIconImgView.isHidden = true
81   - }else
82   - {
83   - self.iDIconImgView.isHidden = false
84   - self.iDIconImgView.kf.setImage(with: URL(string: str))
  66 + if cardArray.count > 0{
  67 + for i in (0..<cardArray.count){
  68 + let idCardModel = cardArray[i] as! MineStandInfoModel
  69 + switch idCardModel.name {
  70 + case "姓名":
  71 + self.nameValueLabel.text = idCardModel.userInfo
  72 + case "性别":
  73 + self.sexValueLabel.text = idCardModel.userInfo
  74 + case "认证时间":
  75 + self.dateValueLabel.text = idCardModel.userInfo
  76 + case "编号":
  77 + self.IDValueLabel.text = idCardModel.userInfo
  78 + case "证件照":
  79 + let str:String = idCardModel.userInfo!
  80 + if(str.isEmpty){
  81 + self.iDIconImgView.isHidden = true
  82 + }else
  83 + {
  84 + self.iDIconImgView.isHidden = false
  85 + self.iDIconImgView.kf.setImage(with: URL(string: str))
  86 + }
  87 +
  88 + self.iDCardBGView.kf.setImage(with: URL(string: self._idModel!.cardImg), placeholder: UIImage(named: "homePage_idCardBG"))
  89 + default:
  90 + break
85 91 }
86   -
87   - self.iDCardBGView.kf.setImage(with: URL(string: self._idModel!.cardImg), placeholder: UIImage(named: "homePage_idCardBG"))
88   - default:
89   - break
90 92 }
  93 + }else{
  94 + //没数据
91 95 }
92 96 }
93 97 }
... ...
metaCode/Classes/Main/HomePage/View/VerticalViews/UpSlide/CNUpSlideView.swift
... ... @@ -65,15 +65,15 @@ class CNUpSlideView:UIView{
65 65  
66 66 override init(frame: CGRect) {
67 67 super.init(frame: frame)
68   - let tap = UITapGestureRecognizer.init(target: self, action: #selector(upSlideViewTap))
69   - tap.cancelsTouchesInView = false
70   - self.addGestureRecognizer(tap)
  68 +// let tap = UITapGestureRecognizer.init(target: self, action: #selector(upSlideViewTap))
  69 +// tap.cancelsTouchesInView = false
  70 +// self.addGestureRecognizer(tap)
71 71 self.initUI()
72 72  
73 73 }
74   - @objc func upSlideViewTap() {
75   - print("upSlideViewTap")
76   - }
  74 +// @objc func upSlideViewTap() {
  75 +// print("upSlideViewTap")
  76 +// }
77 77  
78 78 required init?(coder: NSCoder) {
79 79 fatalError("init(coder:) has not been implemented")
... ...
metaCode/Classes/Vendors/WJColorChange.h
... ... @@ -15,6 +15,11 @@
15 15 @param scrollView 滚动视图
16 16 */
17 17 - (void)WJColorScrollViewWillBeginDragging:(UIScrollView *)scrollView;
  18 +/**
  19 + 结束拖拽
  20 + @param scrollView 滚动视图
  21 + */
  22 +- (void)WJColorScrollViewDidEndDragging:(UIScrollView *)scrollView decelerate:(BOOL)decelerate;
18 23  
19 24 /**
20 25 滚动时候回调 传出当前的滚动视图
... ...
metaCode/Classes/Vendors/WJColorChange.m
... ... @@ -201,7 +201,13 @@
201 201 }
202 202  
203 203 }
  204 +- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
  205 +{
  206 + if ([self.delegate respondsToSelector:@selector(WJColorScrollViewDidEndDragging:decelerate:)]) {
  207 + [self.delegate WJColorScrollViewDidEndDragging:scrollView decelerate:decelerate];
  208 + }
204 209  
  210 +}
205 211 - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
206 212  
207 213 if ([self.delegate respondsToSelector:@selector(WJColorEndScroll:)]) {
... ...