Commit 90620575 authored by Alex朱枝文's avatar Alex朱枝文

优化首页银河管家弹窗逻辑

parent 1c88f083
...@@ -12,6 +12,8 @@ import JXSegmentedView ...@@ -12,6 +12,8 @@ import JXSegmentedView
//MARK: - 生命周期函数 及变量 //MARK: - 生命周期函数 及变量
class YHHomeHoldViewPageViewController: YHBaseViewController { class YHHomeHoldViewPageViewController: YHBaseViewController {
private var needShowManagerTipsView = false
private var didFirstLoadYhManager = false
let arrItemTitles = ["推荐","身份","生活","资讯"] let arrItemTitles = ["推荐","身份","生活","资讯"]
...@@ -90,7 +92,7 @@ class YHHomeHoldViewPageViewController: YHBaseViewController { ...@@ -90,7 +92,7 @@ class YHHomeHoldViewPageViewController: YHBaseViewController {
private func isViewVisibleOnScreen(view: UIView) -> Bool { private func isViewVisibleOnScreen(view: UIView) -> Bool {
let viewFrame = view.convert(view.bounds, to: UIScreen.main.coordinateSpace) let viewFrame = view.convert(view.bounds, to: UIScreen.main.coordinateSpace)
let screenFrame = UIScreen.main.bounds let screenFrame = UIScreen.main.bounds
return viewFrame.intersects(screenFrame) return viewFrame.intersects(screenFrame) && viewFrame.maxY <= screenFrame.maxY
} }
override func viewWillDisappear(_ animated: Bool) { override func viewWillDisappear(_ animated: Bool) {
...@@ -197,7 +199,11 @@ extension YHHomeHoldViewPageViewController { ...@@ -197,7 +199,11 @@ extension YHHomeHoldViewPageViewController {
view.show() view.show()
} else if model.type == 20 { } else if model.type == 20 {
//签约用户新人指引 //签约用户新人指引
self.showYHManagerTipsView() if self.didFirstLoadYhManager {
self.showYHManagerTipsView()
} else {
self.needShowManagerTipsView = true
}
} else { } else {
callback(false) callback(false)
return return
...@@ -304,6 +310,7 @@ extension YHHomeHoldViewPageViewController { ...@@ -304,6 +310,7 @@ extension YHHomeHoldViewPageViewController {
NotificationCenter.default.addObserver(self, selector: #selector(didJumpToNewsTab), name: YhConstant.YhNotification.didJumpToHomePageNewsTabNotification, object: nil) NotificationCenter.default.addObserver(self, selector: #selector(didJumpToNewsTab), name: YhConstant.YhNotification.didJumpToHomePageNewsTabNotification, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(didJumpToLifeTab), name: YhConstant.YhNotification.didJumpToHomePageLifeTabNotification, object: nil) NotificationCenter.default.addObserver(self, selector: #selector(didJumpToLifeTab), name: YhConstant.YhNotification.didJumpToHomePageLifeTabNotification, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(didLoadYhManager), name: YhConstant.YhNotification.didLoadYhManagerNotification, object: nil)
for i in 0..<arrItemTitles.count { for i in 0..<arrItemTitles.count {
if i == 0 { if i == 0 {
...@@ -361,6 +368,15 @@ extension YHHomeHoldViewPageViewController { ...@@ -361,6 +368,15 @@ extension YHHomeHoldViewPageViewController {
jumpToItemIndex(itemIndex: 2) jumpToItemIndex(itemIndex: 2)
} }
@objc func didLoadYhManager() {
if needShowManagerTipsView {
needShowManagerTipsView = false
showYHManagerTipsView()
}
didFirstLoadYhManager = true
}
func jumpToItemIndex(itemIndex : Int) { func jumpToItemIndex(itemIndex : Int) {
self.segmentedView.selectItemAt(index: itemIndex) self.segmentedView.selectItemAt(index: itemIndex)
self.listContainerView.didClickSelectedItem(at: itemIndex) self.listContainerView.didClickSelectedItem(at: itemIndex)
...@@ -495,8 +511,8 @@ private extension YHHomeHoldViewPageViewController { ...@@ -495,8 +511,8 @@ private extension YHHomeHoldViewPageViewController {
return return
} }
self.princleVM.postAlertStatus(20) { success, error in // self.princleVM.postAlertStatus(20) { success, error in
} // }
//不在屏幕内 就上移 200px //不在屏幕内 就上移 200px
var offSetY : CGFloat = 0.0 var offSetY : CGFloat = 0.0
...@@ -506,9 +522,8 @@ private extension YHHomeHoldViewPageViewController { ...@@ -506,9 +522,8 @@ private extension YHHomeHoldViewPageViewController {
if viewFrame.origin.y < 250.fix { if viewFrame.origin.y < 250.fix {
offSetY = -abs(viewFrame.origin.y) - (KScreenHeight / 2) offSetY = -abs(viewFrame.origin.y) - (KScreenHeight / 2)
} else { } else {
offSetY = self.isViewVisibleOnScreen(view: self.homePageVC.homeHeaderView.orderTipsView.mgrItem) ? 0.0 : 200.0 offSetY = self.isViewVisibleOnScreen(view: self.homePageVC.homeHeaderView.orderTipsView.mgrItem) ? 0 : 200.0
} }
var point = self.homePageVC.homeCollectView.contentOffset var point = self.homePageVC.homeCollectView.contentOffset
point.y += offSetY point.y += offSetY
self.homePageVC.homeCollectView.setContentOffset(point, animated: false) self.homePageVC.homeCollectView.setContentOffset(point, animated: false)
...@@ -523,6 +538,8 @@ private extension YHHomeHoldViewPageViewController { ...@@ -523,6 +538,8 @@ private extension YHHomeHoldViewPageViewController {
guard let self = self else { guard let self = self else {
return return
} }
self.princleVM.postAlertStatus(20) { success, error in
}
self.homePageVC.gotoYinHeMgrVC() self.homePageVC.gotoYinHeMgrVC()
} }
view.show() view.show()
......
...@@ -420,16 +420,17 @@ extension YHHomePageViewController { ...@@ -420,16 +420,17 @@ extension YHHomePageViewController {
if success { if success {
self.homeHeaderView.orderTipsView.arrLastTwoMessage = self.viewModel.arrLastTwoMessages self.homeHeaderView.orderTipsView.arrLastTwoMessage = self.viewModel.arrLastTwoMessages
self.updateMgrItem() self.updateMgrItem()
self.homeHeaderView.updateSubViewsConstraints() // self.homeHeaderView.updateSubViewsConstraints()
} else { } else {
self.updateMgrItem() self.updateMgrItem()
self.homeHeaderView.updateSubViewsConstraints() // self.homeHeaderView.updateSubViewsConstraints()
} }
if showEvaluationB { if showEvaluationB {
self.updateHomeHeadViewStyle(.evaluationBAndOrderTips) self.updateHomeHeadViewStyle(.evaluationBAndOrderTips)
} else { } else {
self.updateHomeHeadViewStyle(.orderTips) self.updateHomeHeadViewStyle(.orderTips)
} }
NotificationCenter.default.post(name: YhConstant.YhNotification.didLoadYhManagerNotification, object: nil)
} }
} }
} else { } else {
......
...@@ -308,7 +308,8 @@ extension YhConstant { ...@@ -308,7 +308,8 @@ extension YhConstant {
// 我的证件 微信文件上传回调 // 我的证件 微信文件上传回调
public static let didMyCertificateWeChatFileUploadCallBackNotification = Notification.Name(rawValue: "com.yinhe.myCertificate.wechat.fileUpload") public static let didMyCertificateWeChatFileUploadCallBackNotification = Notification.Name(rawValue: "com.yinhe.myCertificate.wechat.fileUpload")
// 已经展示银河管家
public static let didLoadYhManagerNotification = Notification.Name(rawValue: "com.yinhe.didLoadYhManager")
} }
} }
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