Commit 941e8493 authored by Steven杜宇's avatar Steven杜宇

// 首页身份

parent 73df3ce1
......@@ -232,7 +232,7 @@ extension YHHomeHoldViewPageViewController {
arrItemVCs.append(vc)
} else if i == 1 {
//身份
let vc = YHServiceListViewController()
let vc = YHHomeIdentityViewController()
arrItemVCs.append(vc)
} else if i == 2 {
//生活
......
......@@ -11,6 +11,11 @@ import JXSegmentedView
class YHHomeIdentityViewController: YHBaseViewController {
var imgs:[UIImage?] = [UIImage(named: "identity_talent_1"),
UIImage(named: "identity_talent_2"),
UIImage(named: "identity_talent_3"),
UIImage(named: "identity_talent_4")]
lazy var subTabBar: YHIdentityTabBar = {
let items = [YHIdentityTabBarItem(title: "优才", type: .talent),
YHIdentityTabBarItem(title: "高才", type: .high),
......@@ -20,6 +25,11 @@ class YHHomeIdentityViewController: YHBaseViewController {
bar.selectBlock = {
[weak self] type in
guard let self = self else { return }
self.tableView.reloadData()
if self.segmentedView.selectedIndex != 0 {
self.segmentedView.defaultSelectedIndex = 0
self.segmentedView.reloadDataWithoutListContainer()
}
}
return bar
}()
......@@ -40,24 +50,28 @@ class YHHomeIdentityViewController: YHBaseViewController {
lazy var headerView:UIView = {
let view = UIView(frame: CGRectMake(0, 0, KScreenWidth, KScreenWidth+44.0+8.0))
view.backgroundColor = .white
let imgView = UIImageView()
imgView.backgroundColor = .red
view.addSubview(imgView)
imgView.snp.makeConstraints { make in
view.addSubview(self.headImgView)
headImgView.snp.makeConstraints { make in
make.left.top.right.equalToSuperview()
make.height.equalTo(imgView.snp.width)
make.height.equalTo(headImgView.snp.width)
}
self.segmentedView.dataSource = segmentedDataSource
view.addSubview(self.segmentedView)
segmentedView.snp.makeConstraints { make in
make.left.equalTo(20)
make.right.equalTo(-20)
make.left.equalTo(0)
make.right.equalTo(0)
make.height.equalTo(44)
make.top.equalTo(imgView.snp.bottom).offset(8.0)
make.top.equalTo(headImgView.snp.bottom).offset(8.0)
}
return view
}()
lazy var headImgView: UIImageView = {
let imgView = UIImageView()
imgView.image = UIImage(named: "identity_header_1")
return imgView
}()
lazy var segmentedView : JXSegmentedView = {
let segmentedView = JXSegmentedView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: 44))
segmentedView.delegate = self
......@@ -72,6 +86,9 @@ class YHHomeIdentityViewController: YHBaseViewController {
return segmentedView
}()
static let tabWidth = 64.0
static let tabGap = (KScreenWidth-20.0*2-tabWidth*4.0)/3.0
lazy var segmentedDataSource: JXSegmentedTitleDataSource = {
let dataSource = JXSegmentedTitleDataSource()
dataSource.titles = ["项目介绍", "申请条件", "申请流程", "费用详情"]
......@@ -79,53 +96,62 @@ class YHHomeIdentityViewController: YHBaseViewController {
dataSource.titleNormalColor = UIColor.init(hex: 0x94A3B8)
dataSource.titleSelectedFont = UIFont.PFSC_M(ofSize: 16)
dataSource.titleSelectedColor = .mainTextColor
dataSource.itemWidth = JXSegmentedViewAutomaticDimension
dataSource.itemSpacing = 22.0
dataSource.itemWidth = Self.tabWidth
dataSource.itemSpacing = Self.tabGap
dataSource.itemWidthSelectedZoomScale = 1.0
return dataSource
}()
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .white
createUI()
}
func createUI() {
gk_navigationBar.isHidden = true
self.view.backgroundColor = .white
self.view.addSubview(self.tableView)
self.view.addSubview(self.subTabBar)
self.subTabBar.snp.makeConstraints { make in
make.top.equalTo(k_Height_NavigationtBarAndStatuBar)
make.top.equalToSuperview()
make.left.equalTo(20)
make.right.equalTo(-20)
make.height.equalTo(44)
}
self.tableView.snp.makeConstraints { make in
make.top.equalTo(k_Height_NavigationtBarAndStatuBar+44)
make.top.equalTo(self.subTabBar.snp.bottom)
make.left.right.bottom.equalToSuperview()
}
let left = 20.0-Self.tabGap
self.segmentedView.snp.remakeConstraints { make in
make.left.equalTo(left)
make.right.equalTo(-left)
make.height.equalTo(44)
make.top.equalTo(headImgView.snp.bottom).offset(8.0)
}
}
func scrollViewDidScroll(_ scrollView: UIScrollView) {
printLog("offset: \(scrollView.contentOffset.y)")
if scrollView.contentOffset.y <= self.headerView.height {
if self.segmentedView.selectedIndex != 0 {
self.segmentedView.defaultSelectedIndex = 0
self.segmentedView.reloadDataWithoutListContainer()
}
}
}
}
extension YHHomeIdentityViewController: JXSegmentedViewDelegate {
func segmentedView(_ segmentedView: JXSegmentedView, didSelectedItemAt index: Int) {
let sectionRect = self.tableView.rectForHeader(inSection: index)
printLog("sectionRect:\(sectionRect)")
self.tableView.scrollToRow(at: IndexPath(row: 0, section: index), at: .top, animated: true)
// DispatchQueue.main.asyncAfter(deadline: .now() + 0.2, execute: {
// var gap = 0.0
// // 此处处理内容总长度不够滚到相应tab的差距
// let sectionRect = self.tableView.rectForHeader(inSection: index)
// if self.tableView.contentOffset.y >= 0.0, sectionRect.origin.y > self.tableView.contentOffset.y {
// gap = sectionRect.origin.y - self.tableView.contentOffset.y
// }
// let offsetY = self.tableView.contentOffset.y + gap
// self.tableView.setContentOffset(CGPointMake(0, offsetY+4), animated: true)
// })
self.tableView.scrollToRow(at: IndexPath(row: index, section: 0), at: .top, animated: true)
}
}
extension YHHomeIdentityViewController: JXSegmentedListContainerViewListDelegate {
func listView() -> UIView {
return view
}
}
......@@ -133,19 +159,25 @@ extension YHHomeIdentityViewController: UITableViewDataSource, UITableViewDelega
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: YHHomeIdentityCell.cellReuseIdentifier, for: indexPath) as! YHHomeIdentityCell
if 0 <= indexPath.row, indexPath.row < self.imgs.count {
if let img = self.imgs[indexPath.row] {
cell.image = img
}
}
return cell
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 300
}
func numberOfSections(in tableView: UITableView) -> Int {
return 4
if 0 <= indexPath.row, indexPath.row < self.imgs.count {
if let img = self.imgs[indexPath.row] {
return (img.size.height/img.size.width) * KScreenWidth
}
}
return 0.0
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
return self.imgs.count
}
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
......
......@@ -11,6 +11,17 @@ import UIKit
class YHHomeIdentityCell: UITableViewCell {
static let cellReuseIdentifier = "YHHomeIdentityCell"
var image:UIImage? = UIImage(named: "global_default_image") {
didSet {
imgView.image = image
}
}
lazy var imgView:UIImageView = {
let view = UIImageView(image: UIImage(named: "global_default_image"))
view.clipsToBounds = true
return view
}()
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
......@@ -22,11 +33,9 @@ class YHHomeIdentityCell: UITableViewCell {
}
func setupUI() {
let randomRed = CGFloat.random(in: 0...1)
let randomGreen = CGFloat.random(in: 0...1)
let randomBlue = CGFloat.random(in: 0...1)
let randomColor = UIColor(displayP3Red: randomRed, green: randomGreen, blue: randomBlue, alpha: 1.0)
self.contentView.backgroundColor = randomColor
self.contentView.addSubview(self.imgView)
self.imgView.snp.makeConstraints { make in
make.edges.equalToSuperview()
}
}
}
......@@ -280,12 +280,6 @@ extension YHMyViewController : UITableViewDelegate, UITableViewDataSource {
return
}
// if true {
// let vc = YHHomeInformationViewController()
// self.navigationController?.pushViewController(vc)
// return
// }
let item: PersonalModuleItem = items[indexPath.row]
switch item.type {
case .myCard://我的名片
......
{
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "头图@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "头图@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "留学1@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "留学1@3x.jpg",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "留学2@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "留学2@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "留学3@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "留学3@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "留学4@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "留学4@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
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