Commit 64661dfc authored by pete谢兆麟's avatar pete谢兆麟

首页UI

parent 1f739415
......@@ -24,6 +24,7 @@
040AE98C2CEC84B400310241 /* YHWorkExperienceCompanyModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 040AE98B2CEC84B400310241 /* YHWorkExperienceCompanyModel.swift */; };
040AE9932CF5B89300310241 /* YHSelectViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 040AE9922CF5B89300310241 /* YHSelectViewController.swift */; };
040AE9952CF5B9C900310241 /* YHSelectLookView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 040AE9942CF5B9C900310241 /* YHSelectLookView.swift */; };
040AE9992CF5CB1D00310241 /* YHSelectLookHeadView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 040AE9982CF5CB1D00310241 /* YHSelectLookHeadView.swift */; };
04129E862CD0C8490072F87B /* YHAliYunLogManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04129E852CD0C8490072F87B /* YHAliYunLogManager.swift */; };
041390692C1081FA0098CB8A /* YHFileListEmptyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 041390682C1081FA0098CB8A /* YHFileListEmptyView.swift */; };
0414708B2C88627B00B7B688 /* YHButlerServiceManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0414708A2C88627B00B7B688 /* YHButlerServiceManager.swift */; };
......@@ -1075,6 +1076,7 @@
040AE98B2CEC84B400310241 /* YHWorkExperienceCompanyModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHWorkExperienceCompanyModel.swift; sourceTree = "<group>"; };
040AE9922CF5B89300310241 /* YHSelectViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHSelectViewController.swift; sourceTree = "<group>"; };
040AE9942CF5B9C900310241 /* YHSelectLookView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHSelectLookView.swift; sourceTree = "<group>"; };
040AE9982CF5CB1D00310241 /* YHSelectLookHeadView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHSelectLookHeadView.swift; sourceTree = "<group>"; };
04129E852CD0C8490072F87B /* YHAliYunLogManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHAliYunLogManager.swift; sourceTree = "<group>"; };
041390682C1081FA0098CB8A /* YHFileListEmptyView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHFileListEmptyView.swift; sourceTree = "<group>"; };
0414708A2C88627B00B7B688 /* YHButlerServiceManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHButlerServiceManager.swift; sourceTree = "<group>"; };
......@@ -2142,6 +2144,7 @@
040AE98F2CF5B82600310241 /* V */ = {
isa = PBXGroup;
children = (
040AE9982CF5CB1D00310241 /* YHSelectLookHeadView.swift */,
040AE9942CF5B9C900310241 /* YHSelectLookView.swift */,
);
path = V;
......@@ -6019,6 +6022,7 @@
04CCEDFD2CA150ED0026EA70 /* YHHKImmigrationRecordsSingleModel.swift in Sources */,
0418922A2C91CB2500B9FB94 /* YHResignDocumentStatus.swift in Sources */,
047F3DF22CE888EF001B2A6D /* YHDocumentListCell.swift in Sources */,
040AE9992CF5CB1D00310241 /* YHSelectLookHeadView.swift in Sources */,
04256DE42C72E3FA00A37BA4 /* YHInfoItemOptionView.swift in Sources */,
04256DF22C734E7E00A37BA4 /* YHGrabFileCell.swift in Sources */,
04CA2C052CB8F75700F36DE7 /* YHResignUploadDocListViewModel.swift in Sources */,
......
......@@ -15,7 +15,7 @@ class YHHomeHoldViewPageViewController: YHBaseViewController {
private var needShowManagerTipsView = false
private var didFirstLoadYhManager = false
let arrItemTitles = ["推荐","身份","生活","咨询攻略"]
let arrItemTitles = ["推荐","银河甄选","直播","咨询攻略"]
var arrItemVCs : [YHBaseViewController] = []
......
......@@ -13,6 +13,10 @@ class YHHomeIdentityViewController: YHBaseViewController {
var subTabArr:[YHHomeLifeCategoryModel] = []
var sectionView: YHSelectLookView!
var tableView: UITableView!
var headView: YHSelectLookHeadView!
lazy var viewModel: YHHomePageViewModel = {
let vm = YHHomePageViewModel()
return vm
......@@ -77,6 +81,55 @@ class YHHomeIdentityViewController: YHBaseViewController {
self.noDataView.snp.makeConstraints { make in
make.left.right.top.bottom.equalToSuperview()
}
scrollView.isHidden = true
subTabBar.isHidden = true
sectionView = {
let view = YHSelectLookView()
view.block = {[weak self] itemIndex in
guard let self = self else { return }
}
return view
}()
sectionView.frame = CGRect(x: 0, y: 0, width: KScreenWidth, height: 92)
headView = {
let head = YHSelectLookHeadView()
head.frame = CGRect(x: 0, y: 0, width: KScreenWidth, height: 46)
return head
}()
tableView = {
let tableView = UITableView(frame: .zero, style: .grouped)
tableView.contentInsetAdjustmentBehavior = .never
tableView.backgroundColor = .white
tableView.separatorStyle = .none
tableView.showsHorizontalScrollIndicator = false
tableView.showsVerticalScrollIndicator = false
tableView.dataSource = self
tableView.delegate = self
tableView.tableHeaderView = sectionView
tableView.tableFooterView = UIView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: 0.01))
tableView.register(cellWithClass: YHSelectLookTableViewCell.self)
return tableView
}()
view.addSubview(tableView)
tableView.snp.makeConstraints { make in
make.top.left.right.bottom.equalToSuperview()
}
// tableView.es.addYHPullToRefresh {
// self.loadData()
// }
view.addSubview(noDataView)
noDataView.snp.makeConstraints { make in
make.centerX.equalToSuperview()
make.centerY.equalToSuperview()
make.width.equalTo(KScreenWidth)
make.height.equalTo(150)
}
}
override func viewWillDisappear(_ animated: Bool) {
......@@ -92,6 +145,43 @@ class YHHomeIdentityViewController: YHBaseViewController {
}
}
extension YHHomeIdentityViewController: UITableViewDelegate, UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 10
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withClass: YHSelectLookTableViewCell.self)
// cell.dataSource = self.viewModel.detailModel.products[indexPath.row]
return cell
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 120
}
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 46
}
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
return headView
}
func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return 0.01
}
func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
return UIView()
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
}
}
extension YHHomeIdentityViewController: JXSegmentedListContainerViewListDelegate {
func listView() -> UIView {
return view
......
......@@ -7,11 +7,12 @@
//
import UIKit
import AttributedString
class YHSelectViewController: YHBaseViewController {
var sectionView: YHSelectLookView!
var tableView: UITableView!
var headView = YHLifeHeadView()
var headView: YHSelectLookHeadView!
var viewModel: YHHomePageViewModel = YHHomePageViewModel()
var selectSubIndex : Int = -1
......@@ -23,7 +24,7 @@ class YHSelectViewController: YHBaseViewController {
override func viewDidLoad() {
super.viewDidLoad()
gk_navTitle = "银河甄选"
setupUI()
loadData()
}
......@@ -54,8 +55,6 @@ extension YHSelectViewController {
}
func setupUI() {
gk_navBarAlpha = 0
gk_navigationBar.isHidden = true
view.backgroundColor = .white
sectionView = {
let view = YHSelectLookView()
......@@ -66,35 +65,36 @@ extension YHSelectViewController {
}
return view
}()
view.addSubview(sectionView)
sectionView.snp.makeConstraints { make in
make.top.left.right.equalToSuperview()
make.height.equalTo(92)
}
headView.frame = CGRect(x: 0, y: 0, width: KScreenWidth, height: KScreenWidth + 28)
sectionView.frame = CGRect(x: 0, y: 0, width: KScreenWidth, height: 92)
headView = {
let head = YHSelectLookHeadView()
head.frame = CGRect(x: 0, y: 0, width: KScreenWidth, height: 46)
return head
}()
tableView = {
let tableView = UITableView(frame: .zero, style: .grouped)
tableView.contentInsetAdjustmentBehavior = .never
tableView.backgroundColor = .clear
tableView.backgroundColor = .white
tableView.separatorStyle = .none
tableView.showsHorizontalScrollIndicator = false
tableView.showsVerticalScrollIndicator = false
tableView.dataSource = self
tableView.delegate = self
tableView.tableHeaderView = headView
tableView.tableHeaderView = sectionView
tableView.tableFooterView = UIView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: 0.01))
tableView.register(cellWithClass: YHLifeItemTableViewCell.self)
tableView.register(cellWithClass: YHSelectLookTableViewCell.self)
return tableView
}()
view.addSubview(tableView)
tableView.snp.makeConstraints { make in
make.bottom.left.right.equalToSuperview()
make.top.equalTo(44)
make.top.equalTo(k_Height_NavigationtBarAndStatuBar)
}
tableView.es.addYHPullToRefresh {
self.loadData()
}
// tableView.es.addYHPullToRefresh {
// self.loadData()
// }
view.addSubview(noDataView)
noDataView.snp.makeConstraints { make in
......@@ -108,25 +108,25 @@ extension YHSelectViewController {
extension YHSelectViewController: UITableViewDelegate, UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.viewModel.detailModel.products.count
return 10
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withClass: YHLifeItemTableViewCell.self)
cell.dataSource = self.viewModel.detailModel.products[indexPath.row]
let cell = tableView.dequeueReusableCell(withClass: YHSelectLookTableViewCell.self)
// cell.dataSource = self.viewModel.detailModel.products[indexPath.row]
return cell
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 124
return 120
}
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 0.01
return 46
}
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
return UIView()
return headView
}
func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
......@@ -141,3 +141,116 @@ extension YHSelectViewController: UITableViewDelegate, UITableViewDataSource {
}
}
class YHSelectLookTableViewCell: UITableViewCell {
var centerImageView: UIImageView!
var titleLabel: UILabel!
var subTitleLabel: UILabel!
var flagLabel: UILabel!
var itemView: UIView!
var dataSource: YHProductModel? {
didSet {
guard let dataSource = dataSource else { return }
self.titleLabel.text = dataSource.name
self.subTitleLabel.text = dataSource.description
guard let url = URL(string: dataSource.image) else { return }
self.centerImageView.kf.setImage(with: url)
}
}
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
required init?(coder: NSCoder) {
super.init(coder: coder)
}
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
selectionStyle = .none
setupUI()
}
func setupUI() {
self.backgroundColor = .white
centerImageView = {
let imageView = UIImageView()
imageView.image = UIImage(named: "global_default_image")
return imageView
}()
contentView.addSubview(centerImageView)
centerImageView.snp.makeConstraints { make in
make.centerY.equalToSuperview()
make.left.equalTo(20)
make.height.width.equalTo(80)
}
titleLabel = {
let view = UILabel()
view.text = "高才A香港企明星(7)"
view.font = UIFont.PFSC_M(ofSize: 17)
view.textColor = UIColor.mainTextColor
view.numberOfLines = 2
return view
}()
contentView.addSubview(titleLabel)
titleLabel.snp.makeConstraints { make in
make.left.equalTo(centerImageView.snp.right).offset(12)
make.right.equalTo(-20)
make.top.equalTo(centerImageView.snp.top)
make.height.equalTo(22)
}
subTitleLabel = {
let view = UILabel()
let a: ASAttributedString = .init("¥", .font(UIFont.PFSC_R(ofSize: 14)),.foreground(UIColor.mainTextColor))
let b: ASAttributedString = .init("61000", .font(UIFont.PFSC_R(ofSize: 20)),.foreground(UIColor.mainTextColor))
let c: ASAttributedString = .init("¥61000", .font(UIFont.PFSC_R(ofSize: 14)),.foreground(UIColor(hex:0x8993a2)), .strikethrough(.single))
view.attributed.text = a + b + c
return view
}()
contentView.addSubview(subTitleLabel)
subTitleLabel.snp.makeConstraints { make in
make.left.equalTo(centerImageView.snp.right).offset(12)
make.right.equalTo(-20)
make.bottom.equalTo(centerImageView.snp.bottom)
make.height.equalTo(20)
}
flagLabel = {
let label = UILabel()
label.text = "套餐"
label.textAlignment = .center
label.textColor = .white
label.font = UIFont.PFSC_M(ofSize: 10)
return label
}()
centerImageView.addSubview(flagLabel)
flagLabel.snp.makeConstraints { make in
make.left.top.equalToSuperview()
make.width.equalTo(28)
make.height.equalTo(16)
}
itemView = {
let view = UIView()
view.backgroundColor = .red
return view
}()
contentView.addSubview(itemView)
itemView.snp.makeConstraints { make in
make.left.equalTo(centerImageView.snp.right).offset(12)
make.right.equalTo(-20)
make.top.equalTo(centerImageView.snp.top).offset(26)
make.height.equalTo(18)
}
}
}
//
// YHSelectLookHeadView.swift
// galaxy
//
// Created by EDY on 2024/11/26.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHSelectLookHeadView: UIView {
typealias Block = (Int) -> ()
var block: Block?
var itemButton: UIButton!
var selectIndex = 0 {
didSet {
}
}
override init(frame: CGRect) {
super.init(frame: frame)
backgroundColor = .white
setUpView()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func setUpView() {
backgroundColor = .white
itemButton = {
let button = UIButton(type: .custom)
button.titleLabel?.font = UIFont.PFSC_M(ofSize: 14)
button.contentHorizontalAlignment = .center
button.setTitle("全部产品", for: .normal)
button.setImage(UIImage(named: "home_select_icon"), for: .normal)
button.setTitleColor(UIColor(hex: 0x6d788a), for: .normal)
button.backgroundColor = UIColor.contentBkgColor
button.addTarget(self, action: #selector(itemClick), for: .touchUpInside)
return button
}()
addSubview(itemButton)
itemButton.snp.makeConstraints { make in
make.left.equalTo(20)
make.top.equalTo(12)
make.height.equalTo(26)
make.width.equalTo(92)
}
itemButton.iconInRight(with: 0.5)
}
@objc func itemClick() {
}
}
......@@ -37,7 +37,7 @@ class YHSelectLookView: UIView {
flowLayout.scrollDirection = .horizontal
let collectinoView = UICollectionView(frame: .zero, collectionViewLayout: flowLayout)
collectinoView.backgroundColor = .white
collectinoView.backgroundColor = .contentBkgColor
collectinoView.contentInset = UIEdgeInsets(top: 0, left: 20, bottom: 0, right: 20)
collectinoView.register(YHSelectLookViewCell.self, forCellWithReuseIdentifier:YHSelectLookViewCell.cellReuseIdentifier)
collectinoView.delegate = self
......@@ -116,7 +116,7 @@ class YHSelectLookViewCell: UICollectionViewCell {
let label = UILabel()
label.text = "高才专家"
label.textColor = UIColor(hex: 0x6d788a)
label.font = UIFont.PFSC_R(ofSize: 13)
label.font = UIFont.PFSC_R(ofSize: 11)
label.textAlignment = .center
return label
}()
......@@ -139,7 +139,8 @@ class YHSelectLookViewCell: UICollectionViewCell {
contentView.addSubview(descripeLable)
descripeLable.snp.makeConstraints { make in
make.top.left.right.bottom.equalToSuperview()
make.left.right.bottom.equalToSuperview()
make.height.equalTo(14)
}
}
......
......@@ -248,21 +248,23 @@ extension YHServiceCenterViewController {
}
YHServiceMoreAlertView.show(flag) {[weak self] index in
guard let self = self else { return }
if index == 1 {
let vc = YHOrderDetailViewController()
vc.model = oldModel
vc.backDate = { [weak self] model in
guard let self = self else { return }
self.model = model
self.state = 0
self.headIndex = 0
self.isCanSelectStep = false
}
self.navigationController?.pushViewController(vc)
} else {
let view = YHOffivialApprovalGuildLineCheckView.sheetView()
view.show()
}
let vc = YHSelectViewController()
self.navigationController?.pushViewController(vc)
// if index == 1 {
// let vc = YHOrderDetailViewController()
// vc.model = oldModel
// vc.backDate = { [weak self] model in
// guard let self = self else { return }
// self.model = model
// self.state = 0
// self.headIndex = 0
// self.isCanSelectStep = false
// }
// self.navigationController?.pushViewController(vc)
// } else {
// let view = YHOffivialApprovalGuildLineCheckView.sheetView()
// view.show()
// }
}
}
......
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "home_select_icon@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "home_select_icon@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