Commit 965501ef authored by Steven杜宇's avatar Steven杜宇

// 生活详情

parent a10edf63
......@@ -17,7 +17,6 @@ class YHLifeDetailViewController: YHBaseViewController {
var downloadUrl: String = ""
var imgItems:[YHHomeIdentityItem] = []
var scrollContentY: CGFloat = 0.0
var isShowBottomView: Bool = false
......@@ -68,7 +67,7 @@ class YHLifeDetailViewController: YHBaseViewController {
tableView.delegate = self
tableView.dataSource = self
tableView.bounces = false
let view = UIView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: Self.headerHeight))
let view = UIView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: self.headerHeight))
tableView.tableHeaderView = view
tableView.separatorStyle = .none
return tableView
......@@ -96,14 +95,15 @@ class YHLifeDetailViewController: YHBaseViewController {
return view
}()
static let headerHeight: CGFloat = KScreenWidth+44.0+9.0
var headerHeight: CGFloat = KScreenWidth+44.0+9.0
lazy var headerView:UIView = {
let view = UIView(frame: CGRectMake(0, 0, KScreenWidth, Self.headerHeight))
let view = UIView(frame: CGRectMake(0, 0, KScreenWidth, KScreenWidth+44.0+9.0))
view.backgroundColor = .white
view.addSubview(self.headImgView)
headImgView.snp.makeConstraints { make in
make.left.top.right.equalToSuperview()
make.height.equalTo(headImgView.snp.width)
make.height.equalTo(KScreenWidth)
}
self.segmentedView.dataSource = segmentedDataSource
view.addSubview(self.segmentedView)
......@@ -264,7 +264,7 @@ extension YHLifeDetailViewController: UIScrollViewDelegate {
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.backgroundColor = .white
topSegmentedView.isHidden = false
topLine.isHidden = false
......@@ -329,7 +329,7 @@ extension YHLifeDetailViewController: UITableViewDataSource, UITableViewDelegate
}
func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return 0.01
return KScreenHeight/3.0
}
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
......@@ -389,6 +389,35 @@ extension YHLifeDetailViewController {
func requestImages() {
let ossGroup = DispatchGroup()
if let headImgUrl = self.productModel.banner.first {
ossGroup.enter()
self.headImgView.kf.setImage(with: URL(string: headImgUrl)) { result in
switch result {
case .success(let value):
var imgHeight = KScreenWidth
if value.image.size.height > 0.0, value.image.size.width > 0.0 {
imgHeight = KScreenWidth * (value.image.size.height/value.image.size.width)
}
self.headerHeight = imgHeight+44.0+9.0
self.headerView.height = self.headerHeight
self.headImgView.snp.updateConstraints { make in
make.height.equalTo(imgHeight)
}
self.headerView.setNeedsLayout()
self.headerView.layoutIfNeeded()
self.tableView.tableHeaderView = self.headerView
self.fakeTableView.tableHeaderView?.height = self.headerHeight
case .failure(let error):
print("image download failed: \(error.localizedDescription)")
}
self.tableView.reloadData()
self.fakeTableView.reloadData()
ossGroup.leave()
}
}
for item in self.imgItems {
ossGroup.enter()
item.imgView.kf.setImage(with: URL(string: item.url)) { result in
......@@ -403,6 +432,7 @@ extension YHLifeDetailViewController {
ossGroup.leave()
}
}
ossGroup.notify(queue: .main) {
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