Commit eb6e6503 authored by Alex朱枝文's avatar Alex朱枝文

会员中心页调整

parent db5f0ae5
......@@ -74,6 +74,7 @@
043671412D64935200E8D9BA /* YHMemberCenterCellContent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 043671402D64935200E8D9BA /* YHMemberCenterCellContent.swift */; };
043671432D66DDB500E8D9BA /* YHMemberCenterInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 043671422D66DDB500E8D9BA /* YHMemberCenterInfo.swift */; };
043671452D66FBEE00E8D9BA /* YHMemberCenterViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 043671442D66FBEE00E8D9BA /* YHMemberCenterViewModel.swift */; };
043671472D6C3ED100E8D9BA /* YHMembershipGrowthGuideView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 043671462D6C3ED100E8D9BA /* YHMembershipGrowthGuideView.swift */; };
045C0F7F2D12CA5F00BD2DC0 /* submit_page_scroll.gif in Resources */ = {isa = PBXBuildFile; fileRef = 045C0F4F2D12CA5E00BD2DC0 /* submit_page_scroll.gif */; };
045C0F802D12CA5F00BD2DC0 /* Localizable.xcstrings in Resources */ = {isa = PBXBuildFile; fileRef = 045C0F762D12CA5E00BD2DC0 /* Localizable.xcstrings */; };
045C0F812D12CA5F00BD2DC0 /* img_0.png in Resources */ = {isa = PBXBuildFile; fileRef = 045C0F5E2D12CA5E00BD2DC0 /* img_0.png */; };
......@@ -1316,6 +1317,7 @@
043671402D64935200E8D9BA /* YHMemberCenterCellContent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMemberCenterCellContent.swift; sourceTree = "<group>"; };
043671422D66DDB500E8D9BA /* YHMemberCenterInfo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMemberCenterInfo.swift; sourceTree = "<group>"; };
043671442D66FBEE00E8D9BA /* YHMemberCenterViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMemberCenterViewModel.swift; sourceTree = "<group>"; };
043671462D6C3ED100E8D9BA /* YHMembershipGrowthGuideView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMembershipGrowthGuideView.swift; sourceTree = "<group>"; };
045C0A142D12CA5E00BD2DC0 /* YHBaseViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHBaseViewController.swift; sourceTree = "<group>"; };
045C0A152D12CA5E00BD2DC0 /* YHBaseViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHBaseViewModel.swift; sourceTree = "<group>"; };
045C0A162D12CA5E00BD2DC0 /* YHNavigationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHNavigationController.swift; sourceTree = "<group>"; };
......@@ -5816,6 +5818,7 @@
04AFEF4A2D5DF3710007A011 /* YHMyUserInfoView.swift */,
04AFEF4C2D5EEF860007A011 /* YHUserVipInfoView.swift */,
048D6ADC2D5EF0A900BC6F4C /* YHMemberCenterHeaderView.swift */,
043671462D6C3ED100E8D9BA /* YHMembershipGrowthGuideView.swift */,
048D6ADE2D5F0FBE00BC6F4C /* YHMemberCenterHeaderBannerCell.swift */,
048D6AE22D6348EF00BC6F4C /* YHMemberCenterCurrentPrivilegeCell.swift */,
0436713A2D643A7A00E8D9BA /* YHMemberCenterMyPrivilegeCell.swift */,
......@@ -7528,6 +7531,7 @@
045C11FC2D12CA5F00BD2DC0 /* YHHKPlaceInfoCell.swift in Sources */,
045C11FD2D12CA5F00BD2DC0 /* YHIncomeRecordUtilType.swift in Sources */,
045C11FE2D12CA5F00BD2DC0 /* YHVideoPlayerControlView.swift in Sources */,
043671472D6C3ED100E8D9BA /* YHMembershipGrowthGuideView.swift in Sources */,
045C11FF2D12CA5F00BD2DC0 /* YHResignCertificateModel.swift in Sources */,
045C12002D12CA5F00BD2DC0 /* YHPrincipleApprovedAlertView.swift in Sources */,
045C12012D12CA5F00BD2DC0 /* YHSchemeTableHeadView.swift in Sources */,
......
......@@ -16,13 +16,13 @@ class YHMemberCenterViewController: YHBaseViewController {
}
private var currentLevel: YHMembershipLevel = .normal
private var viewModel = YHMemberCenterViewModel()
private var firstEnter = true
var datas: [TableRow] = []
private lazy var tableView: UITableView = {
let view = UITableView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: KScreenHeight), style: .grouped)
view.estimatedSectionHeaderHeight = 0.01
......@@ -57,6 +57,12 @@ class YHMemberCenterViewController: YHBaseViewController {
self.updateDatas(info)
}
}
view.levelButtonEvent = { [weak self] _ in
self?.gotoGuideView()
}
view.upgradeButtonEvent = { [weak self] _ in
self?.gotoYinheStore()
}
return view
}()
......@@ -69,7 +75,7 @@ class YHMemberCenterViewController: YHBaseViewController {
super.viewDidLoad()
setupUI()
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
if firstEnter {
......@@ -78,7 +84,6 @@ class YHMemberCenterViewController: YHBaseViewController {
} else {
requestData(isNeedLoading: false)
}
}
private func setupUI() {
......@@ -108,7 +113,7 @@ class YHMemberCenterViewController: YHBaseViewController {
tableView.tableHeaderView = headerView
tableView.tableFooterView = footerView
}
private func requestData(isNeedLoading: Bool = false) {
if isNeedLoading {
YHHUD.show(.progress(message: "加载中..."))
......@@ -133,6 +138,7 @@ class YHMemberCenterViewController: YHBaseViewController {
}
}
}
private func updateDatas(_ memberCenterInfo: YHMemberCenterInfo) {
datas.removeAll()
switch currentLevel {
......@@ -151,10 +157,10 @@ class YHMemberCenterViewController: YHBaseViewController {
datas.append(.currentPrivilege(.gold, 7))
datas.append(.myPrivilege(.normal, 5))
let services: [YHMemberCenterCellContent] = [.kidsBay, .luxury, .afternoonTea, .offlineSalons, .onSiteConsultation, .customerService, .pointsConsumption]
let ids: [String] = [memberCenterInfo.highTeaBox.giftId, memberCenterInfo.experienceCenter.giftId,
let ids: [String] = [memberCenterInfo.highTeaBox.giftId, memberCenterInfo.experienceCenter.giftId,
memberCenterInfo.luxuryTea.giftId,
memberCenterInfo.offlineSalon.giftId, memberCenterInfo.answerConsult.giftId, memberCenterInfo.dedicatedAdviser.giftId,
memberCenterInfo.specialIntegralConsumption.giftId]
memberCenterInfo.specialIntegralConsumption.giftId]
let details: [String] = ["本月剩余兑换数量:20", "本月剩余兑换数量:20", "不限次数兑换", "不限次数兑换", "不限次数兑换", "不限次数兑换", "不限次数兑换", "不限次数兑换"]
let buttonTitles: [String] = ["了解更多", "了解更多", "立即兑换", "了解更多", "了解更多", "立即联系", "了解更多"]
let buttonStates: [YHMemberCenterActionButton.ButtonState] = [.redeemable, .redeemable, .redeemable, .redeemable, .redeemable, .redeemable, .redeemable]
......@@ -166,12 +172,12 @@ class YHMemberCenterViewController: YHBaseViewController {
datas.append(.currentPrivilege(.platinum, 8))
datas.append(.myPrivilege(.normal, 5))
let services: [YHMemberCenterCellContent] = [.kidsBay, .luxury, .hkTravel, .afternoonTea, .offlineSalons, .onSiteConsultation, .customerService, .pointsConsumption]
let ids: [String] = [memberCenterInfo.highTeaBox.giftId, memberCenterInfo.experienceCenter.giftId,
let ids: [String] = [memberCenterInfo.highTeaBox.giftId, memberCenterInfo.experienceCenter.giftId,
memberCenterInfo.hkCarTransfer.giftId,
memberCenterInfo.luxuryTea.giftId,
memberCenterInfo.offlineSalon.giftId, memberCenterInfo.answerConsult.giftId, memberCenterInfo.dedicatedAdviser.giftId,
memberCenterInfo.specialIntegralConsumption.giftId]
memberCenterInfo.specialIntegralConsumption.giftId]
let details: [String] = ["本月剩余兑换数量:20", "本月剩余兑换数量:20", "本月剩余兑换数量:20", "不限次数兑换", "不限次数兑换", "不限次数兑换", "不限次数兑换", "不限次数兑换"]
let buttonTitles: [String] = ["了解更多", "了解更多", "了解更多", "立即兑换", "了解更多", "了解更多", "立即联系", "了解更多"]
let buttonStates: [YHMemberCenterActionButton.ButtonState] = [.redeemable, .redeemable, .redeemable, .redeemable, .redeemable, .redeemable, .redeemable, .redeemable]
......@@ -182,19 +188,19 @@ class YHMemberCenterViewController: YHBaseViewController {
case .diamond:
datas.append(.currentPrivilege(.diamond, 13))
datas.append(.myPrivilege(.normal, 5))
let services: [YHMemberCenterCellContent] = [.kidsBay, .luxury, .crossBorder, .hkTravel, .drivingLicense, .schoolSelection, .brandPlanning, .highEndMeeting, .afternoonTea, .offlineSalons, .onSiteConsultation, .customerService, .pointsConsumption]
let ids: [String] = [memberCenterInfo.highTeaBox.giftId, memberCenterInfo.experienceCenter.giftId,
let services: [YHMemberCenterCellContent] = [.kidsBay, .luxury, .crossBorder, .hkTravel, .drivingLicense, .schoolSelection, .brandPlanning, .highEndMeeting, .afternoonTea, .offlineSalons, .onSiteConsultation, .customerService, .pointsConsumption]
let ids: [String] = [memberCenterInfo.highTeaBox.giftId, memberCenterInfo.experienceCenter.giftId,
memberCenterInfo.carTransfer.giftId,
memberCenterInfo.hkCarTransfer.giftId,
memberCenterInfo.internationalDrivingLicense.giftId,
memberCenterInfo.hongkongSchoolPlanning.giftId,
memberCenterInfo.brandStrategy.giftId,
memberCenterInfo.highEndPrivilege.giftId,
memberCenterInfo.luxuryTea.giftId,
memberCenterInfo.offlineSalon.giftId, memberCenterInfo.answerConsult.giftId, memberCenterInfo.dedicatedAdviser.giftId,
memberCenterInfo.specialIntegralConsumption.giftId]
memberCenterInfo.specialIntegralConsumption.giftId]
let details: [String] = ["本月剩余兑换数量:20", "本月剩余兑换数量:20", "本月已兑换完毕,次月更新", "本月剩余兑换数量:20", "本月剩余兑换数量:20", "本月剩余兑换数量:20", "本月剩余兑换数量:20", "本月剩余兑换数量:20", "不限次数兑换", "不限次数兑换", "不限次数兑换", "不限次数兑换", "不限次数兑换"]
let buttonTitles: [String] = ["了解更多", "了解更多", "暂无库存", "了解更多", "了解更多", "了解更多", "了解更多", "了解更多", "立即兑换", "了解更多", "了解更多", "立即联系", "了解更多"]
let buttonStates: [YHMemberCenterActionButton.ButtonState] = [.redeemable, .redeemable, .outOfStock, .redeemable, .redeemable, .redeemable, .redeemable, .redeemable, .redeemable, .redeemable, .redeemable, .redeemable, .redeemable]
......@@ -206,7 +212,6 @@ class YHMemberCenterViewController: YHBaseViewController {
tableView.reloadData()
}
@objc private func didHistoryButtonClicked() {
var url = YHBaseUrlManager.shared.curH5URL() + "superAppBridge.html#/vip/order"
if YHLoginManager.shared.isLogin() {
......@@ -235,7 +240,13 @@ class YHMemberCenterViewController: YHBaseViewController {
let url = YHBaseUrlManager.shared.curH5URL() + "superAppBridge.html#/vip/center"
YHShareManager.shared.sendLinkContent("分享会员中心", "", UIImage(named: "AppIcon") ?? UIImage(), link: url)
}
private func gotoYinheStore() {
let vc = YHSelectViewController()
vc.hideFlag = false
navigationController?.pushViewController(vc)
}
private func serviceDidClick(id: String, contentType: YHMemberCenterCellContent) {
switch contentType {
case .kidsBay, .luxury, .crossBorder, .hkTravel, .drivingLicense, .schoolSelection, .brandPlanning, .highEndMeeting, .afternoonTea, .onSiteConsultation:
......@@ -248,7 +259,7 @@ class YHMemberCenterViewController: YHBaseViewController {
gotoScoreCenter()
}
}
private func gotoCommunity() {
goTabBarBy(tabType: .community)
DispatchQueue.main.async {
......@@ -256,8 +267,16 @@ class YHMemberCenterViewController: YHBaseViewController {
}
}
private func gotoGuideView() {
let view = YHMembershipGrowthGuideView.sheetView()
view.closeButtonEvent = {
}
view.show()
}
private func gotoScoreCenter() {
if let param = YHLoginManager.shared.userModel?.token,param.count>5 {
if let param = YHLoginManager.shared.userModel?.token, param.count > 5 {
var url = YHBaseUrlManager.shared.curH5URL() + "superApp/integral"
url = url + "?param=" + YHLoginManager.shared.h5Token
let vc = YHH5WebViewVC()
......@@ -269,7 +288,7 @@ class YHMemberCenterViewController: YHBaseViewController {
navigationController?.pushViewController(vc)
}
}
private func gotoService(_ id: String) {
var url = YHBaseUrlManager.shared.curH5URL() + "superAppBridge.html#/vip/detail?exchange_support_type=2&source=vip&id=\(id)"
if YHLoginManager.shared.isLogin() {
......@@ -293,7 +312,7 @@ class YHMemberCenterViewController: YHBaseViewController {
vc.isFullScreenFlag = true
navigationController?.pushViewController(vc)
}
private func goQiyuService() {
guard let userId = YHLoginManager.shared.userModel?.id, userId.count > 0, let navigationController = UIViewController.current?.navigationController else {
return
......@@ -301,7 +320,7 @@ class YHMemberCenterViewController: YHBaseViewController {
YHButlerServiceManager.shared.gotoButlerServiceSessionVC(navigationController: navigationController, completion: { _ in
})
}
private func gotoPrivilegePage() {
YHHUD.flash(message: "进特权页,待完善!!")
}
......@@ -393,7 +412,7 @@ extension YHMemberCenterViewController: UITableViewDelegate, UITableViewDataSour
}
return 0.01
}
func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
guard datas.count > section else {
return 0.01
......
......@@ -10,6 +10,11 @@ import FSPagerView
import UIKit
class YHMemberCenterHeaderBannerCell: FSPagerViewCell {
var upgradeButtonEvent: ((_ level: YHMembershipLevel) -> Void)?
var levelButtonEvent: ((_ level: YHMembershipLevel) -> Void)?
private var level: YHMembershipLevel = .normal
private lazy var bannerImagV: UIImageView = {
let imagV: UIImageView = UIImageView()
imagV.contentMode = .scaleAspectFit
......@@ -28,6 +33,7 @@ class YHMemberCenterHeaderBannerCell: FSPagerViewCell {
private lazy var levelButton: UIButton = {
let button = UIButton(type: .custom)
button.titleLabel?.font = UIFont.PFSC_R(ofSize: 13)
button.addTarget(self, action: #selector(levelButtonClicked), for: .touchUpInside)
return button
}()
......@@ -36,6 +42,7 @@ class YHMemberCenterHeaderBannerCell: FSPagerViewCell {
button.titleLabel?.font = UIFont.PFSC_M(ofSize: 12)
button.clipsToBounds = true
button.layer.cornerRadius = 17
button.addTarget(self, action: #selector(upgradeButtonClicked), for: .touchUpInside)
return button
}()
......@@ -133,11 +140,14 @@ class YHMemberCenterHeaderBannerCell: FSPagerViewCell {
}
func setupData(level: YHMembershipLevel, levelString: String, tips: String, upgradeTitle: String, showProgress: Bool, ratioString: String, ratio: CGFloat, showRatio: Bool, showTips: Bool) {
self.level = level
bannerImagV.image = UIImage(named: level.cardIconTitle())
bannerTitleLabel.text = level.description
bannerTitleLabel.textColor = level.levelTitleColor()
levelButton.setTitleColor(level.levelButtonTitleColor(), for: .normal)
levelButton.setTitle(levelString, for: .normal)
levelButton.setImage(UIImage(named: level.levelButtonImageTitle()), for: .normal)
levelButton.iconInRight(with: 0)
countLabel.textColor = level.countTitleColor()
countLabel.text = ratioString
countLabel.isHidden = !showRatio
......@@ -165,6 +175,14 @@ class YHMemberCenterHeaderBannerCell: FSPagerViewCell {
}
}
}
@objc private func upgradeButtonClicked() {
upgradeButtonEvent?(level)
}
@objc private func levelButtonClicked() {
levelButtonEvent?(level)
}
}
fileprivate extension YHMembershipLevel {
......@@ -219,6 +237,15 @@ fileprivate extension YHMembershipLevel {
return UIColor(hexString: "#E0C9AF80")?.withAlphaComponent(0.5)
}
}
func levelButtonImageTitle() -> String {
switch self {
case .normal, .gold, .platinum:
return "arrow_right_white_16"
case .diamond:
return "arrow_right_gold_16"
}
}
func countTitleColor() -> UIColor? {
switch self {
......
......@@ -53,6 +53,8 @@ class YHMemberCenterHeaderView: UIView {
}
var scrollToIndexEvent: ((YHMembershipLevel) -> Void)?
var upgradeButtonEvent: ((_ level: YHMembershipLevel) -> Void)?
var levelButtonEvent: ((_ level: YHMembershipLevel) -> Void)?
private lazy var bannerView: FSPagerView = {
let view = FSPagerView()
......@@ -103,8 +105,8 @@ class YHMemberCenterHeaderView: UIView {
showTips = false
}
case .gold:
countFrom = 0
countTo = 60000
countFrom = 1
countTo = 6001
if memberCenterInfo.currentLevel < level.rawValue {
levelString = "您未达到该等级"
upgradeTitle = "去升级"
......@@ -118,7 +120,7 @@ class YHMemberCenterHeaderView: UIView {
upgradeTitle = "已达成"
tips = "距铂金会员还需\(countTo - memberCenterInfo.growthValue)成长值"
ratioString = "\(memberCenterInfo.growthValue)/(countTo)"
let value = Double(memberCenterInfo.growthValue) / Double(countTo)
let value = Double(memberCenterInfo.growthValue) / Double(countTo - 1)
ratio = value < 0 ? 0 : value
showProgress = true
showRatio = true
......@@ -131,8 +133,8 @@ class YHMemberCenterHeaderView: UIView {
ratio = 0
}
case .platinum:
countFrom = 60000
countTo = 150000
countFrom = 6001
countTo = 15001
if memberCenterInfo.currentLevel < level.rawValue {
levelString = "您未达到该等级"
upgradeTitle = "去升级"
......@@ -145,7 +147,7 @@ class YHMemberCenterHeaderView: UIView {
upgradeTitle = "已达成"
tips = "距钻石会员还需\(countTo - memberCenterInfo.growthValue)成长值"
ratioString = "\(memberCenterInfo.growthValue)/(countTo)"
let value = Double(memberCenterInfo.growthValue) / Double(countTo)
let value = Double(memberCenterInfo.growthValue) / Double(countTo - 1)
ratio = value < 0 ? 0 : value
showProgress = true
showRatio = true
......@@ -158,7 +160,7 @@ class YHMemberCenterHeaderView: UIView {
ratio = 0
}
case .diamond:
countFrom = 150000
countFrom = 15001
countTo = Int.max
if memberCenterInfo.currentLevel < level.rawValue {
levelString = "您未达到该等级"
......@@ -215,6 +217,12 @@ extension YHMemberCenterHeaderView: FSPagerViewDataSource, FSPagerViewDelegate {
if let cell = pagerView.dequeueReusableCell(withReuseIdentifier: "YHMemberCenterHeaderBannerCell", at: index) as? YHMemberCenterHeaderBannerCell {
let model = datas[index]
cell.setupData(level: model.level, levelString: model.levelString, tips: model.tips, upgradeTitle: model.upgradeTitle, showProgress: model.showProgress, ratioString: model.ratioString, ratio: model.ratio, showRatio: model.showRatio, showTips: model.showTips)
cell.levelButtonEvent = { [weak self] level in
self?.levelButtonEvent?(level)
}
cell.upgradeButtonEvent = { [weak self] level in
self?.upgradeButtonEvent?(level)
}
return cell
}
return FSPagerViewCell()
......
//
// YHMembershipGrowthGuideView.swift
// galaxy
//
// Created by alexzzw on 2025/2/24.
// Copyright © 2025 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHMembershipGrowthGuideView: UIView {
var closeButtonEvent: (() -> Void)?
private lazy var topTitleLabel: UILabel = {
let label = UILabel()
label.text = "会员及成长值说明"
label.font = .PFSC_B(ofSize: 17)
label.textColor = .mainTextColor
label.textAlignment = .center
return label
}()
private lazy var closeButton: UIButton = {
let button = UIButton(type: .custom)
button.setImage(UIImage(named: "service_card_close"), for: .normal)
button.addTarget(self, action: #selector(closeButtonClicked), for: .touchUpInside)
return button
}()
private lazy var topLineView: UIView = {
let view = UIView()
view.backgroundColor = UIColor(hexString: "#E9ECF0")
return view
}()
lazy var blackMaskView: UIView = {
let view = UIView()
view.backgroundColor = UIColor(hex: 0x0F1214, alpha: 0.5)
return view
}()
lazy var whiteContentView: UIView = {
let view = UIView()
view.backgroundColor = .white
return view
}()
lazy var myScrollView: UIScrollView = {
let view = UIScrollView()
view.backgroundColor = .clear
view.showsVerticalScrollIndicator = false
view.showsHorizontalScrollIndicator = false
return view
}()
lazy var bkgImageV: UIImageView = {
let imageV = UIImageView()
imageV.image = UIImage(named: "membership_growth_guide")
imageV.contentMode = .scaleAspectFit
imageV.clipsToBounds = true
return imageV
}()
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override init(frame: CGRect) {
super.init(frame: frame)
setupUI()
}
}
extension YHMembershipGrowthGuideView {
static func sheetView() -> YHMembershipGrowthGuideView {
let view = YHMembershipGrowthGuideView(frame: UIScreen.main.bounds)
return view
}
func show() {
UIApplication.shared.yhKeyWindow()?.addSubview(self)
UIView.animate(withDuration: 0.5) {
let whiteHeight = KScreenHeight - k_Height_NavigationtBarAndStatuBar
self.whiteContentView.frame = CGRect(x: 0, y: KScreenHeight - whiteHeight, width: KScreenWidth, height: whiteHeight)
}
}
@objc func dismiss() {
removeFromSuperview()
}
}
private extension YHMembershipGrowthGuideView {
@objc private func closeButtonClicked() {
dismiss()
closeButtonEvent?()
}
func setupUI() {
addSubview(blackMaskView)
addSubview(whiteContentView)
let corner = UIRectCorner(rawValue: UIRectCorner.topLeft.rawValue | UIRectCorner.topRight.rawValue)
let path = UIBezierPath(roundedRect: bounds, byRoundingCorners: corner, cornerRadii: CGSizeMake(kCornerRadius6, kCornerRadius6))
let layer = CAShapeLayer()
layer.frame = whiteContentView.bounds
layer.path = path.cgPath
whiteContentView.layer.mask = layer
whiteContentView.clipsToBounds = true
blackMaskView.snp.makeConstraints { make in
make.edges.equalToSuperview()
}
let whiteHeight = KScreenHeight - k_Height_NavigationtBarAndStatuBar
whiteContentView.frame = CGRect(x: 0, y: KScreenHeight, width: KScreenWidth, height: whiteHeight)
whiteContentView.addSubview(topTitleLabel)
whiteContentView.addSubview(closeButton)
whiteContentView.addSubview(topLineView)
topTitleLabel.snp.makeConstraints { make in
make.centerX.equalToSuperview()
make.top.equalToSuperview().offset(16)
}
closeButton.snp.makeConstraints { make in
make.centerY.equalTo(topTitleLabel)
make.right.equalToSuperview().offset(-20)
make.width.height.equalTo(24)
}
topLineView.snp.makeConstraints { make in
make.top.equalToSuperview().offset(52)
make.left.equalToSuperview().offset(20)
make.right.equalToSuperview().offset(-20)
}
whiteContentView.addSubview(myScrollView)
myScrollView.snp.makeConstraints { make in
make.top.equalToSuperview().offset(54)
make.left.equalToSuperview()
make.right.equalToSuperview()
make.width.equalTo(KScreenWidth)
make.height.equalTo(whiteHeight - 54)
}
if let _ = UIImage(named: "membership_growth_guide") {
let radio = 558.0 / 333.0
let margin = (375.0 - 333.0) / 2.0
myScrollView.addSubview(bkgImageV)
bkgImageV.snp.makeConstraints { make in
make.top.equalToSuperview()
make.left.equalToSuperview().offset(margin)
make.right.equalToSuperview().offset(-margin)
make.width.equalTo(333.0)
make.height.equalTo(333.0 * radio)
}
myScrollView.contentSize = CGSize(width: KScreenWidth, height: 333.0 * radio)
}
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "arrow_right_gold_16@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "arrow_right_gold_16@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "membership_growth_guide@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "membership_growth_guide@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