Commit f8c788aa authored by David黄金龙's avatar David黄金龙

操作指引

parent c505f83c
......@@ -596,6 +596,7 @@
A5F886B62C61F76200B63CF5 /* YHLongtapPictureSheetView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5F886B52C61F76100B63CF5 /* YHLongtapPictureSheetView.swift */; };
A5F886BA2C62475C00B63CF5 /* YHOfficialApprovalResultVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5F886B92C62475C00B63CF5 /* YHOfficialApprovalResultVC.swift */; };
A5F8AC082B9F414000A21EFA /* YHCustomTextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5F8AC072B9F414000A21EFA /* YHCustomTextView.swift */; };
A5F9E9F72C637FC5005BCA73 /* YHOffivialApprovalGuildLineCheckView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5F9E9F62C637FC5005BCA73 /* YHOffivialApprovalGuildLineCheckView.swift */; };
A5FD45232C523DD300908AD9 /* YHJsApi.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5FD45222C523DD300908AD9 /* YHJsApi.swift */; };
A5FD63BD2B623C2C00D1D9DA /* YHInformationPerfectListVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5FD63BC2B623C2C00D1D9DA /* YHInformationPerfectListVC.swift */; };
A5FD63BF2B6250BC00D1D9DA /* YHInformationPerfectCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5FD63BE2B6250BC00D1D9DA /* YHInformationPerfectCell.swift */; };
......@@ -1242,6 +1243,7 @@
A5F886B52C61F76100B63CF5 /* YHLongtapPictureSheetView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHLongtapPictureSheetView.swift; sourceTree = "<group>"; };
A5F886B92C62475C00B63CF5 /* YHOfficialApprovalResultVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHOfficialApprovalResultVC.swift; sourceTree = "<group>"; };
A5F8AC072B9F414000A21EFA /* YHCustomTextView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHCustomTextView.swift; sourceTree = "<group>"; };
A5F9E9F62C637FC5005BCA73 /* YHOffivialApprovalGuildLineCheckView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHOffivialApprovalGuildLineCheckView.swift; sourceTree = "<group>"; };
A5FD45222C523DD300908AD9 /* YHJsApi.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHJsApi.swift; sourceTree = "<group>"; };
A5FD63BC2B623C2C00D1D9DA /* YHInformationPerfectListVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHInformationPerfectListVC.swift; sourceTree = "<group>"; };
A5FD63BE2B6250BC00D1D9DA /* YHInformationPerfectCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHInformationPerfectCell.swift; sourceTree = "<group>"; };
......@@ -3313,6 +3315,7 @@
A5F886B72C6242F100B63CF5 /* OfficialApprovalBatch(正式批) */ = {
isa = PBXGroup;
children = (
A5F9E9F82C637FCC005BCA73 /* V */,
A5F886B82C62436A00B63CF5 /* C */,
);
path = "\U001dOfficialApprovalBatch(正式批)";
......@@ -3326,6 +3329,14 @@
path = C;
sourceTree = "<group>";
};
A5F9E9F82C637FCC005BCA73 /* V */ = {
isa = PBXGroup;
children = (
A5F9E9F62C637FC5005BCA73 /* YHOffivialApprovalGuildLineCheckView.swift */,
);
path = V;
sourceTree = "<group>";
};
A5FD45212C523D3200908AD9 /* InteractionH5(与H5交互) */ = {
isa = PBXGroup;
children = (
......@@ -3968,6 +3979,7 @@
04FD85682C21277800BEF9C5 /* YHMyNameCardAvatarInfoCell.swift in Sources */,
A566A79A2C219FA400980D06 /* YHHomeSalonAreaView.swift in Sources */,
04213B312C4917BD00797900 /* YHHomeInfoDetailViewController.swift in Sources */,
A5F9E9F72C637FC5005BCA73 /* YHOffivialApprovalGuildLineCheckView.swift in Sources */,
A5ACE9432B4564F7002C94D2 /* UILable+Extension.swift in Sources */,
0414BDB22BCCC0A500225367 /* YHCollectionModel.swift in Sources */,
045EEE882B9F171A0022A143 /* YHPreviewAcademicAndProfessionalQualificationViewController.swift in Sources */,
......
......@@ -21,13 +21,48 @@ class YHOfficialApprovalResultVC: YHBaseViewController {
lazy var bkgImageV: UIImageView = {
let imageV = UIImageView()
imageV.image = UIImage(named: "official_approval_result_bkg")
imageV.contentMode = .scaleAspectFit
imageV.clipsToBounds = true
return imageV
}()
}
extension YHOfficialApprovalResultVC {
private extension YHOfficialApprovalResultVC {
func setupUI() {
gk_navBarAlpha = 0.0
gk_backImage = UIImage(named: "back_icon_white")
addRightItem()
view.addSubview(bkgImageV)
bkgImageV.snp.makeConstraints { make in
make.edges.equalToSuperview()
}
}
func addRightItem() {
let searchButton = {
let button = UIButton(type: .custom)
button.frame = CGRect(x: 0, y: 0, width: 54, height: 24)
button.setTitleColor(UIColor.white, for: .normal)
button.setTitle("操作指引", for: .normal)
button.titleLabel?.font = UIFont.PFSC_M(ofSize: 14)
button.contentHorizontalAlignment = .right
button.addTarget(self, action: #selector(self.clickRightItemBtn), for: .touchUpInside)
return button
}()
let rightButtonItem = UIBarButtonItem(customView: searchButton)
gk_navRightBarButtonItem = rightButtonItem
gk_navItemRightSpace = kMargin
}
@objc func clickRightItemBtn() {
let view = YHOffivialApprovalGuildLineCheckView.sheetView()
view.show()
}
}
//
// YHOffivialApprovalGuildLineCheckView.swift
// galaxy
//
// Created by davidhuangA on 2024/8/7.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHOffivialApprovalGuildLineCheckView: UIView {
lazy var blackMaskView: UIView = {
let view = UIView()
view.backgroundColor = UIColor(hex: 0x0F1214, alpha: 0.5)
let tap = UITapGestureRecognizer(target: self, action: #selector(dismiss))
view.addGestureRecognizer(tap)
return view
}()
lazy var whiteContentView: UIView = {
let view = UIView()
view.backgroundColor = .white
return view
}()
lazy var bottomView: UIView = {
let view = UIView()
view.backgroundColor = .clear
view.addSubview(self.rewardBtn)
self.rewardBtn.snp.makeConstraints { make in
make.top.equalToSuperview().offset(10)
make.left.equalTo(kMargin)
make.right.equalTo(-kMargin)
make.height.equalTo(44)
}
view.layer.zPosition = 10
return view
}()
//我已悉知,确认
lazy var rewardBtn: UIButton = {
let button = UIButton(type: .custom)
button.titleLabel?.font = UIFont.PFSC_M(ofSize: 15)
button.contentHorizontalAlignment = .center
button.setTitle("我已悉知,确认", for: .normal)
button.setTitleColor(UIColor.white, for: .normal)
button.layer.cornerRadius = kCornerRadius3
button.clipsToBounds = true
button.addTarget(self, action: #selector(clickSureBtn), for: .touchUpInside)
button.backgroundColor = UIColor.brandMainColor
return button
}()
lazy var myScrollView: UIScrollView = {
let view = UIScrollView()
view.backgroundColor = .clear
view.showsVerticalScrollIndicator = false
view.delegate = self
return view
}()
lazy var bkgImageV: UIImageView = {
let imageV = UIImageView()
imageV.image = UIImage(named: "official_approval_guideline")
imageV.contentMode = .scaleToFill
imageV.clipsToBounds = true
return imageV
}()
lazy var bkgImageV2: UIImageView = {
let imageV = UIImageView()
imageV.image = UIImage(named: "official_approval_guideline_bkg")
imageV.contentMode = .scaleToFill
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()
}
private var timer : Timer?
private var maxCount : Int = 5
private var ischeckBeforeFlag : Bool = false //之前是否展示过
}
extension YHOffivialApprovalGuildLineCheckView {
static func sheetView() -> YHOffivialApprovalGuildLineCheckView {
let view = YHOffivialApprovalGuildLineCheckView(frame:UIScreen.main.bounds)
return view
}
func show() {
UIApplication.shared.yhKeyWindow()?.addSubview(self)
}
@objc func dismiss() {
self.removeFromSuperview()
}
@objc func clickSureBtn() {
dismiss()
}
}
private extension YHOffivialApprovalGuildLineCheckView {
@objc func timerFired() {
// 定时器触发时执行的代码
print("Timer fired")
self.maxCount = self.maxCount - 1
if self.maxCount < 0 {
self.stopTimer()
self.setButtonEnable(true)
} else {
rewardBtn.setTitle("请上滑看完指引后操作(\(maxCount)s)", for: .normal)
}
}
func startTimer() {
stopTimer()
timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(timerFired), userInfo: nil, repeats: true)
RunLoop.current.add(timer!, forMode: .common)
}
func stopTimer() {
maxCount = 5
timer?.invalidate()
timer = nil
}
func setButtonEnable(_ enable : Bool) {
rewardBtn.isEnabled = enable
if enable {
rewardBtn.setTitle("我已悉知,确认", for: .normal)
rewardBtn.backgroundColor = UIColor.brandMainColor
} else {
rewardBtn.setTitle("请上滑看完指引后操作(5s)", for: .normal)
rewardBtn.backgroundColor = UIColor(hex: 0xB7C0CC, alpha: 1.0)
}
}
func setupUI() {
self.addSubview(blackMaskView)
self.addSubview(whiteContentView)
let corner = UIRectCorner(rawValue: UIRectCorner.topLeft.rawValue | UIRectCorner.topRight.rawValue)
let path = UIBezierPath(roundedRect:bounds,byRoundingCorners: corner,cornerRadii:CGSizeMake(16.0, 16.0));
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.snp.makeConstraints { make in
make.left.right.bottom.equalToSuperview()
make.height.equalTo(whiteHeight)
}
whiteContentView.addSubview(bkgImageV2)
bkgImageV2.snp.makeConstraints { make in
make.top.left.right.equalToSuperview()
make.height.equalTo(375)
}
whiteContentView.addSubview(bottomView)
bottomView.snp.makeConstraints { make in
make.bottom.left.right.equalToSuperview()
make.height.equalTo(98)
}
whiteContentView.addSubview(myScrollView)
myScrollView.snp.makeConstraints { make in
make.top.equalToSuperview().offset(20)
make.right.equalToSuperview()
make.width.equalTo(KScreenWidth)
make.height.equalTo(whiteHeight-98 - 20)
}
if let tmpImage = UIImage(named:"official_approval_guideline") {
let scale = Double(tmpImage.size.height / tmpImage.size.width)
let imageH = scale * KScreenWidth
myScrollView.addSubview(bkgImageV)
bkgImageV.snp.makeConstraints { make in
make.top.left.equalToSuperview()
make.width.equalTo(KScreenWidth)
make.height.equalTo(imageH)
}
myScrollView.contentSize = CGSize(width: KScreenWidth, height: imageH)
}
if ischeckBeforeFlag {
setButtonEnable(true)
} else {
startTimer()
setButtonEnable(false)
}
}
}
extension YHOffivialApprovalGuildLineCheckView : UIScrollViewDelegate {
func scrollViewDidScroll(_ scrollView: UIScrollView) {
if !ischeckBeforeFlag {
let scrollViewContentHeight = scrollView.contentSize.height
let scrollOffsetThreshold = scrollViewContentHeight - scrollView.bounds.size.height
// 当前滚动位置
let currentOffset = scrollView.contentOffset.y
if currentOffset > scrollOffsetThreshold { // 接近底部
// 滚动到了底部
stopTimer()
setButtonEnable(true)
} else {
// 没有滚动到底部
}
}
}
}
......@@ -96,9 +96,13 @@ class YHMyViewController: YHBaseViewController, ConstraintRelatableTarget {
view.settingBlock = {
[weak self] in
guard let self = self else { return }
if !checkLogin() { return }
let vc = YHMySettingViewController()
self.navigationController?.pushViewController(vc)
// if !checkLogin() { return }
// let vc = YHMySettingViewController()
// self.navigationController?.pushViewController(vc)
let vc = YHOfficialApprovalResultVC()
self.navigationController?.pushViewController(vc) //for test hjl
}
view.evaluateBlock = {
[weak self] in
......
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "底图2@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "底图3@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