Commit e36b255a authored by Steven杜宇's avatar Steven杜宇

// vip

parent 47424308
...@@ -1210,6 +1210,7 @@ ...@@ -1210,6 +1210,7 @@
04AFEF532D6C62220007A011 /* YHVipLevelRightInfoModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04AFEF522D6C62210007A011 /* YHVipLevelRightInfoModel.swift */; }; 04AFEF532D6C62220007A011 /* YHVipLevelRightInfoModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04AFEF522D6C62210007A011 /* YHVipLevelRightInfoModel.swift */; };
04AFEF552D6C71430007A011 /* YHVipLevelRightTitleCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04AFEF542D6C71430007A011 /* YHVipLevelRightTitleCell.swift */; }; 04AFEF552D6C71430007A011 /* YHVipLevelRightTitleCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04AFEF542D6C71430007A011 /* YHVipLevelRightTitleCell.swift */; };
04AFEF572D6C78AA0007A011 /* YHVipLevelRightViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04AFEF562D6C78AA0007A011 /* YHVipLevelRightViewController.swift */; }; 04AFEF572D6C78AA0007A011 /* YHVipLevelRightViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04AFEF562D6C78AA0007A011 /* YHVipLevelRightViewController.swift */; };
04AFEF592D6C8CE00007A011 /* YHVipLevelRightHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04AFEF582D6C8CDF0007A011 /* YHVipLevelRightHeaderView.swift */; };
04E4CF3E2D5C6D32004D4013 /* YHCountryMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04E4CF3D2D5C6D32004D4013 /* YHCountryMessageView.swift */; }; 04E4CF3E2D5C6D32004D4013 /* YHCountryMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04E4CF3D2D5C6D32004D4013 /* YHCountryMessageView.swift */; };
04E4CF402D5C83AE004D4013 /* YHSelectPhoneCountryViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04E4CF3F2D5C83AE004D4013 /* YHSelectPhoneCountryViewController.swift */; }; 04E4CF402D5C83AE004D4013 /* YHSelectPhoneCountryViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04E4CF3F2D5C83AE004D4013 /* YHSelectPhoneCountryViewController.swift */; };
04EA376D2BEA06EF00DBAF64 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 04EA376C2BEA06EF00DBAF64 /* WebKit.framework */; }; 04EA376D2BEA06EF00DBAF64 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 04EA376C2BEA06EF00DBAF64 /* WebKit.framework */; };
...@@ -2458,6 +2459,7 @@ ...@@ -2458,6 +2459,7 @@
04AFEF522D6C62210007A011 /* YHVipLevelRightInfoModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHVipLevelRightInfoModel.swift; sourceTree = "<group>"; }; 04AFEF522D6C62210007A011 /* YHVipLevelRightInfoModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHVipLevelRightInfoModel.swift; sourceTree = "<group>"; };
04AFEF542D6C71430007A011 /* YHVipLevelRightTitleCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHVipLevelRightTitleCell.swift; sourceTree = "<group>"; }; 04AFEF542D6C71430007A011 /* YHVipLevelRightTitleCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHVipLevelRightTitleCell.swift; sourceTree = "<group>"; };
04AFEF562D6C78AA0007A011 /* YHVipLevelRightViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHVipLevelRightViewController.swift; sourceTree = "<group>"; }; 04AFEF562D6C78AA0007A011 /* YHVipLevelRightViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHVipLevelRightViewController.swift; sourceTree = "<group>"; };
04AFEF582D6C8CDF0007A011 /* YHVipLevelRightHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHVipLevelRightHeaderView.swift; sourceTree = "<group>"; };
04E4CF3D2D5C6D32004D4013 /* YHCountryMessageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHCountryMessageView.swift; sourceTree = "<group>"; }; 04E4CF3D2D5C6D32004D4013 /* YHCountryMessageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHCountryMessageView.swift; sourceTree = "<group>"; };
04E4CF3F2D5C83AE004D4013 /* YHSelectPhoneCountryViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHSelectPhoneCountryViewController.swift; sourceTree = "<group>"; }; 04E4CF3F2D5C83AE004D4013 /* YHSelectPhoneCountryViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHSelectPhoneCountryViewController.swift; sourceTree = "<group>"; };
04EA376C2BEA06EF00DBAF64 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; 04EA376C2BEA06EF00DBAF64 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
...@@ -5831,6 +5833,7 @@ ...@@ -5831,6 +5833,7 @@
0436713E2D64817500E8D9BA /* YHMemberCenterFooterView.swift */, 0436713E2D64817500E8D9BA /* YHMemberCenterFooterView.swift */,
04AFEF502D6878030007A011 /* YHVipLevelRightInfoCell.swift */, 04AFEF502D6878030007A011 /* YHVipLevelRightInfoCell.swift */,
04AFEF542D6C71430007A011 /* YHVipLevelRightTitleCell.swift */, 04AFEF542D6C71430007A011 /* YHVipLevelRightTitleCell.swift */,
04AFEF582D6C8CDF0007A011 /* YHVipLevelRightHeaderView.swift */,
); );
path = V; path = V;
sourceTree = "<group>"; sourceTree = "<group>";
...@@ -7727,6 +7730,7 @@ ...@@ -7727,6 +7730,7 @@
045C12A42D12CA5F00BD2DC0 /* YHEducationInfoCell.swift in Sources */, 045C12A42D12CA5F00BD2DC0 /* YHEducationInfoCell.swift in Sources */,
045C12A52D12CA5F00BD2DC0 /* YHTravelHKDLGuideSheetView.swift in Sources */, 045C12A52D12CA5F00BD2DC0 /* YHTravelHKDLGuideSheetView.swift in Sources */,
045C12A62D12CA5F00BD2DC0 /* YHTravelDocsPreparationTipsCell.swift in Sources */, 045C12A62D12CA5F00BD2DC0 /* YHTravelDocsPreparationTipsCell.swift in Sources */,
04AFEF592D6C8CE00007A011 /* YHVipLevelRightHeaderView.swift in Sources */,
045C12A72D12CA5F00BD2DC0 /* YHMainInfoPreviewModel.swift in Sources */, 045C12A72D12CA5F00BD2DC0 /* YHMainInfoPreviewModel.swift in Sources */,
045C12A82D12CA5F00BD2DC0 /* YHActivityTravelitemView.swift in Sources */, 045C12A82D12CA5F00BD2DC0 /* YHActivityTravelitemView.swift in Sources */,
045C12A92D12CA5F00BD2DC0 /* YHAllApiName.swift in Sources */, 045C12A92D12CA5F00BD2DC0 /* YHAllApiName.swift in Sources */,
......
...@@ -65,30 +65,49 @@ class YHVipLevelRightViewController: YHBaseViewController, UITableViewDataSource ...@@ -65,30 +65,49 @@ class YHVipLevelRightViewController: YHBaseViewController, UITableViewDataSource
lazy var scrollView: UIScrollView = { lazy var scrollView: UIScrollView = {
let v = UIScrollView() let v = UIScrollView()
v.backgroundColor = .yellow v.backgroundColor = .yellow
v.isPagingEnabled = true // v.isPagingEnabled = true
v.bounces = false v.bounces = false
v.contentInsetAdjustmentBehavior = .never v.contentInsetAdjustmentBehavior = .never
v.showsHorizontalScrollIndicator = false v.showsHorizontalScrollIndicator = false
return v return v
}() }()
lazy var titleView:YHVipLevelRightHeaderView = {
let v = YHVipLevelRightHeaderView(frame: .zero)
v.offSetXChange = {
[weak self] offSetX in
guard let self = self else { return }
self.tableView2.contentOffset.x = offSetX
}
return v
}()
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
gk_navTitle = "我的等级权益".local gk_navTitle = "我的等级权益".local
view.backgroundColor = .white view.backgroundColor = .white
view.addSubview(titleView)
view.addSubview(tableView1) view.addSubview(tableView1)
view.addSubview(scrollView) view.addSubview(scrollView)
scrollView.addSubview(tableView2) scrollView.addSubview(tableView2)
titleView.snp.makeConstraints { make in
make.height.equalTo(48)
make.width.equalTo(KScreenWidth/3.0*2.0)
make.top.equalTo(k_Height_NavigationtBarAndStatuBar)
make.right.equalToSuperview()
}
tableView1.snp.makeConstraints { make in tableView1.snp.makeConstraints { make in
make.left.bottom.equalToSuperview() make.left.bottom.equalToSuperview()
make.top.equalTo(k_Height_NavigationtBarAndStatuBar) make.top.equalTo(titleView.snp.bottom)
make.width.equalTo(KScreenWidth/3.0) make.width.equalTo(KScreenWidth/3.0)
} }
scrollView.snp.makeConstraints { make in scrollView.snp.makeConstraints { make in
make.top.equalTo(k_Height_NavigationtBarAndStatuBar) make.top.equalTo(titleView.snp.bottom)
make.left.equalTo(tableView1.snp.right) make.left.equalTo(tableView1.snp.right)
make.right.bottom.equalToSuperview() make.right.bottom.equalToSuperview()
} }
...@@ -184,6 +203,7 @@ extension YHVipLevelRightViewController: UIScrollViewDelegate { ...@@ -184,6 +203,7 @@ extension YHVipLevelRightViewController: UIScrollViewDelegate {
} else if scrollView.tag == valueListTag { } else if scrollView.tag == valueListTag {
tableView1.contentOffset.y = scrollView.contentOffset.y tableView1.contentOffset.y = scrollView.contentOffset.y
titleView.scrollView.contentOffset.x = scrollView.contentOffset.x
} }
} }
} }
//
// YHVipLevelRightHeaderView.swift
// galaxy
//
// Created by Dufet on 2025/2/24.
// Copyright © 2025 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHVipLevelRightsModel {
var type: YHUserVipLevel = .none
var title: String = ""
var num: Int = 0
var isLock: Bool = false
init(type: YHUserVipLevel, title: String, num: Int, isLock: Bool) {
self.type = type
self.title = title
self.num = num
self.isLock = isLock
}
}
class YHVipLevelRightHeaderView: UIView, UIScrollViewDelegate {
var arr:[YHVipLevelRightsModel] = [
YHVipLevelRightsModel(type: .none, title: "大众会员", num: 5, isLock: false),
YHVipLevelRightsModel(type: .gold, title: "黄金会员", num: 7, isLock: true),
YHVipLevelRightsModel(type: .platinum, title: "铂金会员", num: 8, isLock: true),
YHVipLevelRightsModel(type: .diamond, title: "钻石会员", num: 13, isLock: true),
]
var offSetXChange:((CGFloat)->())?
override init(frame: CGRect) {
super.init(frame: frame)
createUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
lazy var scrollView: UIScrollView = {
let v = UIScrollView()
v.backgroundColor = .yellow
// v.isPagingEnabled = true
v.bounces = false
v.contentInsetAdjustmentBehavior = .never
v.showsHorizontalScrollIndicator = false
v.delegate = self
return v
}()
func createUI() {
self.addSubview(scrollView)
scrollView.snp.makeConstraints { make in
make.edges.equalToSuperview()
}
let colorArr:[UIColor] = [.init(hex:0x979EAF),
.init(hex:0xEFAF54),
.init(hex:0x8183AB),
.init(hex:0x15266B),]
var lastView: UIView? = nil
for (index, item) in arr.enumerated() {
let v1 = UIView()
v1.backgroundColor = colorArr[index]
scrollView.addSubview(v1)
v1.snp.makeConstraints { make in
make.top.bottom.equalToSuperview()
make.width.equalTo(self.snp.width).offset(0.5)
if let lastV = lastView {
make.left.equalTo(lastV.snp.right)
} else {
make.left.equalToSuperview()
}
if index == arr.count-1 {
make.right.equalToSuperview()
}
}
let item1V = YHVipLevelRightHeaderItemView(frame: .zero)
item1V.titleLabel.text = item.title
item1V.numLabel.text = "\(item.num)项"
v1.addSubview(item1V)
item1V.snp.makeConstraints { make in
make.centerY.equalToSuperview()
make.centerX.equalToSuperview()
make.height.equalTo(56)
}
}
}
func scrollViewDidScroll(_ scrollView: UIScrollView) {
offSetXChange?(scrollView.contentOffset.x)
}
}
class YHVipLevelRightHeaderItemView: UIView {
lazy var titleLabel: UILabel = {
let label = UILabel()
label.text = ""
label.textColor = .white
label.textAlignment = .center
label.font = .PFSC_M(ofSize: 14)
return label
}()
lazy var numLabel: UILabel = {
let label = UILabel()
label.text = ""
label.textColor = .init(hex: 0xFFFFFF, alpha: 0.6)
label.textAlignment = .center
label.font = .PFSC_R(ofSize: 14)
return label
}()
lazy var lockImgV: UIImageView = {
let v = UIImageView(image: UIImage(named: "mine_vip_lock"))
return v
}()
override init(frame: CGRect) {
super.init(frame: frame)
createUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func createUI() {
self.addSubview(titleLabel)
self.addSubview(numLabel)
self.addSubview(lockImgV)
titleLabel.snp.makeConstraints { make in
make.left.equalToSuperview()
make.centerY.equalToSuperview()
make.width.equalTo(57)
}
lockImgV.snp.makeConstraints { make in
make.left.equalTo(titleLabel.snp.right).offset(2)
make.centerY.equalToSuperview()
make.width.height.equalTo(16)
}
titleLabel.snp.makeConstraints { make in
make.left.equalTo(lockImgV.snp.right).offset(2)
make.right.equalToSuperview()
make.centerY.equalToSuperview()
}
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "20pt@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "20pt@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