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,9 +500,27 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel
500 //让背景view也跟随scrollView平移量的3倍速进行移动 500 //让背景view也跟随scrollView平移量的3倍速进行移动
501 self.backgroupView.top = -fabsOffset*3 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 func customIndexViewDidEndScroll(scrollView: UIScrollView) { 521 func customIndexViewDidEndScroll(scrollView: UIScrollView) {
  522 + print("EndScroll\(scrollView.contentOffset.y)")
  523 +
506 if scrollView.contentOffset.y == 0{//下滑页 524 if scrollView.contentOffset.y == 0{//下滑页
507 self.tabBarController?.tabBar.isHidden = true 525 self.tabBarController?.tabBar.isHidden = true
508 vNumPage = .VNumPageDown 526 vNumPage = .VNumPageDown
metaCode/Classes/Main/HomePage/Controller/DownSlideController/CNUpSlideViewController.swift
@@ -74,6 +74,7 @@ class CNUpSlideViewController: CNLiveBaseViewController,UITableViewDelegate,UITa @@ -74,6 +74,7 @@ class CNUpSlideViewController: CNLiveBaseViewController,UITableViewDelegate,UITa
74 tableView.dataSource = self 74 tableView.dataSource = self
75 tableView.delegate = self 75 tableView.delegate = self
76 tableView.separatorStyle = .none 76 tableView.separatorStyle = .none
  77 + tableView.bounces = false
77 // tableView.register(CNDownSlideSingleCourseCell.self, forCellReuseIdentifier: kCNLiveDownSlideCellIdentifier) 78 // tableView.register(CNDownSlideSingleCourseCell.self, forCellReuseIdentifier: kCNLiveDownSlideCellIdentifier)
78 tableView.register(CNLiveDownSlideRecommendCell.self, forCellReuseIdentifier: kCNLiveDownSlideRecommendCellIdentifier) 79 tableView.register(CNLiveDownSlideRecommendCell.self, forCellReuseIdentifier: kCNLiveDownSlideRecommendCellIdentifier)
79 tableView.register(CNLiveDownSlideTodayRecommendCell.self, forCellReuseIdentifier: kCNLiveDownSlideTodayRecommendCellIdentifier) 80 tableView.register(CNLiveDownSlideTodayRecommendCell.self, forCellReuseIdentifier: kCNLiveDownSlideTodayRecommendCellIdentifier)
metaCode/Classes/Main/HomePage/View/VerticalViews/CNCustomIndexView.swift
@@ -72,12 +72,13 @@ class CNCustomIndexTopView : UIView{ @@ -72,12 +72,13 @@ class CNCustomIndexTopView : UIView{
72 72
73 protocol CNCustomIndexViewDelegate:NSObjectProtocol{ 73 protocol CNCustomIndexViewDelegate:NSObjectProtocol{
74 /// 当前scrollView 将要开始滚动 74 /// 当前scrollView 将要开始滚动
75 - func customIndexViewWillBeiginScroll(scrollView :UIScrollView); 75 + func customIndexViewWillBeiginScroll(scrollView :UIScrollView)
76 ///当前scrollView 滚动中 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 class CNCustomIndexView:PGIndexBannerSubiew, UIScrollViewDelegate, WJColorChangeDelegate{ 84 class CNCustomIndexView:PGIndexBannerSubiew, UIScrollViewDelegate, WJColorChangeDelegate{
@@ -302,8 +303,7 @@ class CNCustomIndexView:PGIndexBannerSubiew, UIScrollViewDelegate, WJColorChange @@ -302,8 +303,7 @@ class CNCustomIndexView:PGIndexBannerSubiew, UIScrollViewDelegate, WJColorChange
302 303
303 ///WJColorChange 代理方法 滚动时候回调 传出当前的滚动视图 304 ///WJColorChange 代理方法 滚动时候回调 传出当前的滚动视图
304 func wjColorScrollViewScroll(_ scrollView: UIScrollView!) { 305 func wjColorScrollViewScroll(_ scrollView: UIScrollView!) {
305 -  
306 - let tag: NSInteger = self.tag 306 + let tag: NSInteger = self.tag
307 let defaultOffset: CGFloat = self.frame.size.height 307 let defaultOffset: CGFloat = self.frame.size.height
308 308
309 let currentOffset: CGFloat = scrollView.contentOffset.y 309 let currentOffset: CGFloat = scrollView.contentOffset.y
@@ -323,7 +323,7 @@ class CNCustomIndexView:PGIndexBannerSubiew, UIScrollViewDelegate, WJColorChange @@ -323,7 +323,7 @@ class CNCustomIndexView:PGIndexBannerSubiew, UIScrollViewDelegate, WJColorChange
323 } 323 }
324 324
325 //当self.baseScrollView的偏移量大于 self.baseScrollView.height时,显示上滑提醒view 325 //当self.baseScrollView的偏移量大于 self.baseScrollView.height时,显示上滑提醒view
326 - if(currentOffset > self.baseScrollView.height){ 326 + if(currentOffset >= self.baseScrollView.height){
327 self.upSlideViewRemindView.top = self.height - (currentOffset - self.baseScrollView.height)*1.5 327 self.upSlideViewRemindView.top = self.height - (currentOffset - self.baseScrollView.height)*1.5
328 } 328 }
329 //上滑滑动到临近值,让upSlideViewRemindView位置一直停留在底部,并慢慢消失 329 //上滑滑动到临近值,让upSlideViewRemindView位置一直停留在底部,并慢慢消失
@@ -351,29 +351,8 @@ class CNCustomIndexView:PGIndexBannerSubiew, UIScrollViewDelegate, WJColorChange @@ -351,29 +351,8 @@ class CNCustomIndexView:PGIndexBannerSubiew, UIScrollViewDelegate, WJColorChange
351 let downSlideViewRemindViewMinOffset: CGFloat = self.baseScrollView.height-self.downSlideViewRemindView.height 351 let downSlideViewRemindViewMinOffset: CGFloat = self.baseScrollView.height-self.downSlideViewRemindView.height
352 self.downSlideViewRemindView.alpha = (20-(downSlideViewRemindViewMinOffset - currentOffset))/20.00 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 let topNavViewAlpha: CGFloat = 1.0 - (self.baseScrollView.height * 2 - currentOffset)/(self.baseScrollView.height*0.5) 357 let topNavViewAlpha: CGFloat = 1.0 - (self.baseScrollView.height * 2 - currentOffset)/(self.baseScrollView.height*0.5)
379 if(topNavViewAlpha > 0){ 358 if(topNavViewAlpha > 0){
@@ -397,10 +376,23 @@ class CNCustomIndexView:PGIndexBannerSubiew, UIScrollViewDelegate, WJColorChange @@ -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 ///WJColorChange 代理方法 滚动结束时候回调 386 ///WJColorChange 代理方法 滚动结束时候回调
401 func wjColorEndScroll(_ scrollView: UIScrollView!) { 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 let defaultOffset: CGFloat = self.frame.size.height 396 let defaultOffset: CGFloat = self.frame.size.height
405 397
406 let currentOffset: CGFloat = scrollView.contentOffset.y 398 let currentOffset: CGFloat = scrollView.contentOffset.y
@@ -440,9 +432,7 @@ class CNCustomIndexView:PGIndexBannerSubiew, UIScrollViewDelegate, WJColorChange @@ -440,9 +432,7 @@ class CNCustomIndexView:PGIndexBannerSubiew, UIScrollViewDelegate, WJColorChange
440 432
441 //下滑提醒View回到初始位置 433 //下滑提醒View回到初始位置
442 self.downSlideViewRemindView.top = -(self.downSlideViewRemindView.height + 50) 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,21 +142,21 @@ class CNDownSlideView:UIView{
142 backBtn.addTarget(self, action: #selector(backBtnAction), for: .touchUpInside) 142 backBtn.addTarget(self, action: #selector(backBtnAction), for: .touchUpInside)
143 backBtn.imageEdgeInsets = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 8) 143 backBtn.imageEdgeInsets = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 8)
144 bottomView.addSubview(backBtn) 144 bottomView.addSubview(backBtn)
145 - 145 + bottomView.isUserInteractionEnabled = true
146 return bottomView 146 return bottomView
147 }() 147 }()
148 148
149 override init(frame: CGRect) { 149 override init(frame: CGRect) {
150 super.init(frame: frame) 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 self.initUI() 155 self.initUI()
156 } 156 }
157 - @objc func slideViewTap() {  
158 - print("slideViewTap")  
159 - } 157 +// @objc func slideViewTap() {
  158 +// print("slideViewTap")
  159 +// }
160 required init?(coder: NSCoder) { 160 required init?(coder: NSCoder) {
161 fatalError("init(coder:) has not been implemented") 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,31 +63,35 @@ class CNIDCardView: UIView{
63 hiddenLoading() 63 hiddenLoading()
64 if respStatue == .success { 64 if respStatue == .success {
65 let cardArray = result as! NSMutableArray 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,15 +65,15 @@ class CNUpSlideView:UIView{
65 65
66 override init(frame: CGRect) { 66 override init(frame: CGRect) {
67 super.init(frame: frame) 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 self.initUI() 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 required init?(coder: NSCoder) { 78 required init?(coder: NSCoder) {
79 fatalError("init(coder:) has not been implemented") 79 fatalError("init(coder:) has not been implemented")
metaCode/Classes/Vendors/WJColorChange.h
@@ -15,6 +15,11 @@ @@ -15,6 +15,11 @@
15 @param scrollView 滚动视图 15 @param scrollView 滚动视图
16 */ 16 */
17 - (void)WJColorScrollViewWillBeginDragging:(UIScrollView *)scrollView; 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,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 - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView { 211 - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
206 212
207 if ([self.delegate respondsToSelector:@selector(WJColorEndScroll:)]) { 213 if ([self.delegate respondsToSelector:@selector(WJColorEndScroll:)]) {