diff --git a/Veloria.xcodeproj/project.pbxproj b/Veloria.xcodeproj/project.pbxproj index 07812e9..f8b49b6 100644 --- a/Veloria.xcodeproj/project.pbxproj +++ b/Veloria.xcodeproj/project.pbxproj @@ -1763,7 +1763,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.1; + MARKETING_VERSION = 1.0.2; PRODUCT_BUNDLE_IDENTIFIER = com.qjwl168.veloria.ios; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -1804,7 +1804,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.1; + MARKETING_VERSION = 1.0.2; PRODUCT_BUNDLE_IDENTIFIER = com.qjwl168.veloria.ios; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; diff --git a/Veloria/Class/Player/View/VPPlayerCoinBuyView.swift b/Veloria/Class/Player/View/VPPlayerCoinBuyView.swift index 615add2..e2e5b6e 100644 --- a/Veloria/Class/Player/View/VPPlayerCoinBuyView.swift +++ b/Veloria/Class/Player/View/VPPlayerCoinBuyView.swift @@ -9,6 +9,10 @@ import UIKit class VPPlayerCoinBuyView: UIView { + override var intrinsicContentSize: CGSize { + .init(width: UIScreen.width, height: 50) + } + var dataArr: [VPPayTemplateItem] = [] { didSet { self.collectionView.reloadData() @@ -43,14 +47,7 @@ class VPPlayerCoinBuyView: UIView { return collectionView }() - private lazy var tipLabel: UILabel = { - let label = UILabel() - label.numberOfLines = 0 - label.textColor = .colorFFFFFF(alpha: 0.5) - label.font = .fontRegular(ofSize: 12) - label.text = "veloria_store_tips_ios".localized - return label - }() + override init(frame: CGRect) { super.init(frame: frame) @@ -68,21 +65,22 @@ extension VPPlayerCoinBuyView { private func vp_setupUI() { addSubview(collectionView) - addSubview(tipLabel) +// addSubview(tipLabel) collectionView.snp.makeConstraints { make in - make.left.right.top.equalToSuperview() + make.top.equalToSuperview().offset(20) + make.left.right.equalToSuperview() make.height.equalTo(collectionViewLayout.itemSize.height) -// make.bottom.equalToSuperview() - } - - tipLabel.snp.makeConstraints { make in - make.left.equalToSuperview().offset(15) - make.right.lessThanOrEqualToSuperview().offset(-15) - make.top.equalTo(collectionView.snp.bottom).offset(12) make.bottom.equalToSuperview() } +// tipLabel.snp.makeConstraints { make in +// make.left.equalToSuperview().offset(15) +// make.right.lessThanOrEqualToSuperview().offset(-15) +// make.top.equalTo(collectionView.snp.bottom).offset(12) +// make.bottom.equalToSuperview() +// } + } } diff --git a/Veloria/Class/Player/View/VPPlayerRechargeView.swift b/Veloria/Class/Player/View/VPPlayerRechargeView.swift index a14b0d1..8bb1fbe 100644 --- a/Veloria/Class/Player/View/VPPlayerRechargeView.swift +++ b/Veloria/Class/Player/View/VPPlayerRechargeView.swift @@ -53,6 +53,14 @@ class VPPlayerRechargeView: HWPanModalContentView { return scrollView }() + private lazy var stackView: UIStackView = { + let view = UIStackView() + view.axis = .vertical + view.spacing = 0 + view.alignment = .center + return view + }() + private lazy var vipView: VPPlayerVipBuyView = { let view = VPPlayerVipBuyView() view.buyFinishBlock = { [weak self] in @@ -73,6 +81,18 @@ class VPPlayerRechargeView: HWPanModalContentView { return view }() + private lazy var tipLabel: UILabel = { + let label = UILabel() + label.numberOfLines = 0 + label.textColor = .colorFFFFFF(alpha: 0.5) + label.font = .fontRegular(ofSize: 12) + label.text = "veloria_store_tips_ios".localized + label.snp.makeConstraints { make in + make.width.lessThanOrEqualTo(UIScreen.width - 30) + } + return label + }() + deinit { NotificationCenter.default.removeObserver(self) } @@ -171,8 +191,7 @@ extension VPPlayerRechargeView { addSubview(coinLabel) addSubview(coinIconImageView) addSubview(scrollView) - scrollView.addSubview(vipView) - scrollView.addSubview(coinView) + scrollView.addSubview(stackView) bgView.snp.makeConstraints { make in make.left.right.top.equalToSuperview() @@ -201,18 +220,12 @@ extension VPPlayerRechargeView { make.bottom.equalToSuperview() } - vipView.snp.makeConstraints { make in - make.left.equalToSuperview() - make.centerX.equalToSuperview() + stackView.snp.makeConstraints { make in + make.left.centerX.equalToSuperview() make.top.equalToSuperview() - } - - coinView.snp.makeConstraints { make in - make.left.equalToSuperview() - make.centerX.equalToSuperview() - make.top.equalTo(vipView.snp.bottom).offset(20) make.bottom.equalToSuperview().offset(-(UIScreen.tabbarSafeBottomMargin + 10)) } + } } @@ -223,10 +236,27 @@ extension VPPlayerRechargeView { VPWalletAPI.requestPayTemplate { [weak self] model in guard let self = self else { return } + stackView.removeAllArrangedSubview() + if let model = model { self.vipView.dataArr = model.list_sub_vip ?? [] self.coinView.dataArr = model.list_coins ?? [] + + if self.vipView.dataArr.count > 0 { + self.stackView.addArrangedSubview(self.vipView) + } + + if self.coinView.dataArr.count > 0 { + self.stackView.addArrangedSubview(self.coinView) + } + + if let view = self.stackView.arrangedSubviews.last { + self.stackView.setCustomSpacing(12, after: view) + } + self.stackView.addArrangedSubview(tipLabel) } + + self.panModalSetNeedsLayoutUpdate() } } diff --git a/Veloria/Class/Player/View/VPPlayerVipBuyView.swift b/Veloria/Class/Player/View/VPPlayerVipBuyView.swift index 4d9412e..43334fb 100644 --- a/Veloria/Class/Player/View/VPPlayerVipBuyView.swift +++ b/Veloria/Class/Player/View/VPPlayerVipBuyView.swift @@ -9,6 +9,10 @@ import UIKit class VPPlayerVipBuyView: UIView { + override var intrinsicContentSize: CGSize { + return .init(width: UIScreen.width, height: 50) + } + var dataArr: [VPPayTemplateItem] = [] { didSet { self.pageScrollView.reloadData() @@ -208,6 +212,7 @@ extension VPPlayerVipBuyView: ZKCycleScrollViewDelegate, ZKCycleScrollViewDataSo VPIAPManager.manager.start(model: dataArr[index]) { finish in if finish { VPLoginManager.manager.updateUserInfo(completer: nil) + self.buyFinishBlock?() } } } diff --git a/Veloria/Class/Wallet/Controller/VPVipPageViewController.swift b/Veloria/Class/Wallet/Controller/VPVipPageViewController.swift index eda5c59..2c51848 100644 --- a/Veloria/Class/Wallet/Controller/VPVipPageViewController.swift +++ b/Veloria/Class/Wallet/Controller/VPVipPageViewController.swift @@ -16,9 +16,9 @@ class VPVipPageViewController: VPViewController { private lazy var vipVC = VPVipViewController() private lazy var coinsVC = VPCoinsViewController() - private lazy var viewControllers: [UIViewController] = { - return [vipVC, coinsVC] - }() + private lazy var titles: [String] = [] + + private lazy var viewControllers: [UIViewController] = [] //MARK: UI属性 private lazy var topImageView: UIImageView = { @@ -47,7 +47,6 @@ class VPVipPageViewController: VPViewController { private lazy var pageParam: WMZPageParam = { let param = WMZPageParam() - param.wTitleArr = ["vip".localized, "coins".localized] param.wViewController = { [weak self] index in return self?.viewControllers[index] } @@ -101,6 +100,7 @@ class VPVipPageViewController: VPViewController { vp_setupUI() requestData() + reloadData() } override func viewWillAppear(_ animated: Bool) { @@ -125,6 +125,18 @@ class VPVipPageViewController: VPViewController { } } } + + private func reloadData() { + pageParam.wTitleArr = self.titles + if titles.count > 1 { + pageParam.wMenuHeight = 46 + } else { + pageParam.wMenuHeight = 0 + } + + self.pageView.updatePageController() + } + } extension VPVipPageViewController { @@ -170,6 +182,18 @@ extension VPVipPageViewController { if let model = model { self.vipVC.dataArr = model.list_sub_vip ?? [] self.coinsVC.dataArr = model.list_coins ?? [] + + if self.vipVC.dataArr.count > 0 { + self.titles.append("vip".localized) + self.viewControllers.append(vipVC) + } + if self.coinsVC.dataArr.count > 0 { + self.titles.append("coins".localized) + self.viewControllers.append(coinsVC) + } + + + self.reloadData() } }