Commit 6712fdcf authored by Steven杜宇's avatar Steven杜宇

// 首页生活详情

parent 31eb5dc6
...@@ -32,7 +32,8 @@ class YHLifeDetailViewController: YHBaseViewController { ...@@ -32,7 +32,8 @@ class YHLifeDetailViewController: YHBaseViewController {
if tag == 0 { if tag == 0 {
//分享小程序 //分享小程序
let path = "/pages/commodityInfo/commodityInfo?categoryId=3&levelId=\(self.tabId)&productId=\(self.productModel.id)&from=wxApp" let path = "/pages/commodityInfo/commodityInfo?categoryId=3&levelId=\(self.tabId)&productId=\(self.productModel.id)&from=wxApp"
YHShareManager.shared.shareToMiniProgram(path:path, shareTitle: "") let shareTitle = "好友力荐新品,速来围观,不容错过!"
YHShareManager.shared.shareToMiniProgram(path:path, shareTitle: shareTitle)
} else { } else {
//预约咨询 //预约咨询
...@@ -57,9 +58,25 @@ class YHLifeDetailViewController: YHBaseViewController { ...@@ -57,9 +58,25 @@ class YHLifeDetailViewController: YHBaseViewController {
return tableView return tableView
}() }()
lazy var fakeTableView: UITableView = {
let tableView = UITableView(frame: CGRect.zero, style:.grouped)
tableView.contentInsetAdjustmentBehavior = .never
tableView.showsVerticalScrollIndicator = false
tableView.backgroundColor = UIColor.white
tableView.separatorStyle = .none
tableView.register(YHHomeIdentityCell.self, forCellReuseIdentifier: YHHomeIdentityCell.cellReuseIdentifier)
tableView.delegate = self
tableView.dataSource = self
tableView.bounces = false
let view = UIView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: Self.headerHeight))
tableView.tableHeaderView = view
tableView.separatorStyle = .none
return tableView
}()
lazy var navBar: YHCustomNavigationBar = { lazy var navBar: YHCustomNavigationBar = {
let bar = YHCustomNavigationBar.navBar() let bar = YHCustomNavigationBar.navBar()
bar.backgroundColor = .white bar.backgroundColor = .clear
bar.backBlock = { bar.backBlock = {
[weak self] in [weak self] in
guard let self = self else { return } guard let self = self else { return }
...@@ -70,7 +87,7 @@ class YHLifeDetailViewController: YHBaseViewController { ...@@ -70,7 +87,7 @@ class YHLifeDetailViewController: YHBaseViewController {
lazy var navView:UIView = { lazy var navView:UIView = {
let view = UIView() let view = UIView()
view.backgroundColor = .white view.backgroundColor = .clear
view.addSubview(self.navBar) view.addSubview(self.navBar)
self.navBar.snp.makeConstraints { make in self.navBar.snp.makeConstraints { make in
make.left.right.bottom.equalToSuperview() make.left.right.bottom.equalToSuperview()
...@@ -178,8 +195,8 @@ class YHLifeDetailViewController: YHBaseViewController { ...@@ -178,8 +195,8 @@ class YHLifeDetailViewController: YHBaseViewController {
func createUI() { func createUI() {
gk_navigationBar.isHidden = true gk_navigationBar.isHidden = true
self.navView.isHidden = true
self.view.backgroundColor = .white self.view.backgroundColor = .white
self.view.addSubview(self.fakeTableView)
self.view.addSubview(self.tableView) self.view.addSubview(self.tableView)
self.view.addSubview(self.shareView) self.view.addSubview(self.shareView)
self.view.addSubview(self.topSegmentedView) self.view.addSubview(self.topSegmentedView)
...@@ -197,6 +214,10 @@ class YHLifeDetailViewController: YHBaseViewController { ...@@ -197,6 +214,10 @@ class YHLifeDetailViewController: YHBaseViewController {
make.top.left.right.equalToSuperview() make.top.left.right.equalToSuperview()
make.bottom.equalTo(self.shareView.snp.top) make.bottom.equalTo(self.shareView.snp.top)
} }
self.fakeTableView.snp.makeConstraints { make in
make.top.left.right.equalToSuperview()
make.bottom.equalTo(self.shareView.snp.top)
}
let left = 20.0-Self.tabGap let left = 20.0-Self.tabGap
self.topSegmentedView.snp.makeConstraints { make in self.topSegmentedView.snp.makeConstraints { make in
make.left.equalTo(left) make.left.equalTo(left)
...@@ -214,20 +235,41 @@ class YHLifeDetailViewController: YHBaseViewController { ...@@ -214,20 +235,41 @@ class YHLifeDetailViewController: YHBaseViewController {
extension YHLifeDetailViewController: JXSegmentedViewDelegate { extension YHLifeDetailViewController: JXSegmentedViewDelegate {
func segmentedView(_ segmentedView: JXSegmentedView, didSelectedItemAt index: Int) { func segmentedView(_ segmentedView: JXSegmentedView, didSelectedItemAt index: Int) {
// 悬停的tab和滚动的tab 选择状态保持一致
if segmentedView == self.topSegmentedView {
self.segmentedView.defaultSelectedIndex = index
self.segmentedView.reloadDataWithoutListContainer()
} else {
self.topSegmentedView.defaultSelectedIndex = index
self.topSegmentedView.reloadDataWithoutListContainer()
}
if 0 <= index, index < self.imgItems.count { if 0 <= index, index < self.imgItems.count {
self.tableView.scrollToRow(at: IndexPath(row: index, section: 0), at: .top, animated: true) self.fakeTableView.scrollToRow(at: IndexPath(row: index, section: 0), at: .top, animated: true)
let rect = self.fakeTableView.rectForRow(at: IndexPath(row: index, section: 0))
DispatchQueue.main.asyncAfter(deadline: .now()+0.2, execute: {
var y = rect.origin.y - k_Height_NavigationtBarAndStatuBar-45.0
if y > self.fakeTableView.contentSize.height-self.fakeTableView.height {
y = self.fakeTableView.contentSize.height-self.fakeTableView.height
}
self.tableView.setContentOffset(CGPoint(x: 0, y: y), animated: true)
})
} }
} }
} }
extension YHLifeDetailViewController: UIScrollViewDelegate { extension YHLifeDetailViewController: UIScrollViewDelegate {
func scrollViewDidScroll(_ scrollView: UIScrollView) { func scrollViewDidScroll(_ scrollView: UIScrollView) {
if scrollView == self.fakeTableView {
return
}
if scrollView.contentOffset.y >= (Self.headerHeight-k_Height_NavigationtBarAndStatuBar-45.0) { if scrollView.contentOffset.y >= (Self.headerHeight-k_Height_NavigationtBarAndStatuBar-45.0) {
navView.isHidden = false navView.backgroundColor = .white
topSegmentedView.isHidden = false topSegmentedView.isHidden = false
topLine.isHidden = false topLine.isHidden = false
} else { } else {
navView.isHidden = true navView.backgroundColor = .clear
topSegmentedView.isHidden = true topSegmentedView.isHidden = true
topLine.isHidden = true topLine.isHidden = true
} }
...@@ -289,7 +331,10 @@ extension YHLifeDetailViewController { ...@@ -289,7 +331,10 @@ extension YHLifeDetailViewController {
self.segmentedDataSource.titles = self.titles self.segmentedDataSource.titles = self.titles
self.segmentedView.dataSource = self.segmentedDataSource self.segmentedView.dataSource = self.segmentedDataSource
self.segmentedView.reloadDataWithoutListContainer() self.segmentedView.reloadDataWithoutListContainer()
self.topSegmentedView.dataSource = self.segmentedDataSource
self.topSegmentedView.reloadDataWithoutListContainer()
self.tableView.reloadData() self.tableView.reloadData()
self.fakeTableView.reloadData()
requestImages() requestImages()
} }
...@@ -305,11 +350,13 @@ extension YHLifeDetailViewController { ...@@ -305,11 +350,13 @@ extension YHLifeDetailViewController {
print("image download failed: \(error.localizedDescription)") print("image download failed: \(error.localizedDescription)")
} }
self.tableView.reloadData() self.tableView.reloadData()
self.fakeTableView.reloadData()
ossGroup.leave() ossGroup.leave()
} }
} }
ossGroup.notify(queue: .main) { ossGroup.notify(queue: .main) {
self.tableView.reloadData() self.tableView.reloadData()
self.fakeTableView.reloadData()
} }
} }
} }
......
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