Commit 4e278faa authored by Steven杜宇's avatar Steven杜宇

// sheetView

parent 831653eb
......@@ -5,21 +5,33 @@
// Created by edy on 2024/3/11.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
/*
【Usage】
YHCertificateUploadSheetView.sheetView.show {
[weak self] actionType in
guard let self = self else { return }
print("%d", actionType.rawValue)
}
*/
import UIKit
enum YHCertificateUploadType: Int {
case phoneFile = 1
enum YHCertificateActionType: Int {
case sample = 1
case camera = 2
case photo = 3
case cancel = 4
case phoneFile = 4
case cancel = 5
}
class YHCertificateUploadItem {
var type: YHCertificateUploadType
var type: YHCertificateActionType
var title: String
var subtitle: String
init(type:YHCertificateUploadType, title: String, subtitle: String = "") {
init(type:YHCertificateActionType, title: String, subtitle: String = "") {
self.type = type
self.title = title
self.subtitle = subtitle
......@@ -63,10 +75,12 @@ class YHCertificateUploadItemView: UIView {
func createUI() {
self.tag = self.item.type.rawValue
self.addSubview(titleLabel)
self.addSubview(subTitleLabel)
self.addSubview(topLine)
titleLabel.text = item.title
subTitleLabel.text = item.subtitle
subTitleLabel.isHidden = item.subtitle.isEmpty
......@@ -162,6 +176,7 @@ class YHCertificateUploadSheetView: UIView {
static let sheetView = YHCertificateUploadSheetView(frame:UIScreen.main.bounds)
var action:((YHCertificateActionType)->())?
lazy var blackMaskView: UIView = {
let view = UIView()
view.backgroundColor = UIColor(hex: 0x0F1214, alpha: 0.5)
......@@ -233,9 +248,12 @@ class YHCertificateUploadSheetView: UIView {
lazy var templateView: YHCertificateSampleTemplateView = {
let view = YHCertificateSampleTemplateView(frame:CGRectZero)
view.tag = YHCertificateActionType.sample.rawValue
view.backgroundColor = .contentBkgColor
view.layer.cornerRadius = 6.0
view.clipsToBounds = true
let tap = UITapGestureRecognizer(target:self, action:#selector(action(_:)))
view.addGestureRecognizer(tap)
return view
}()
......@@ -249,6 +267,7 @@ class YHCertificateUploadSheetView: UIView {
}
func createUI() {
self.addSubview(blackMaskView)
self.addSubview(whiteContentView)
whiteContentView.addSubview(topView)
......@@ -259,6 +278,8 @@ class YHCertificateUploadSheetView: UIView {
let itemView2 = YHCertificateUploadItemView(YHCertificateUploadItem(type:.photo, title:"相册上传"))
let itemView3 = YHCertificateUploadItemView(YHCertificateUploadItem(type:.phoneFile, title:"手机文件上传", subtitle:"从手机文件管理中上传"))
let itemView4 = YHCertificateUploadItemView(YHCertificateUploadItem(type:.cancel, title:"取消"))
let itemViewArr = [itemView1, itemView2, itemView3, itemView4]
whiteContentView.addSubviews(itemViewArr)
......@@ -295,6 +316,8 @@ class YHCertificateUploadSheetView: UIView {
}
for (index, itemView) in itemViewArr.enumerated() {
let tap = UITapGestureRecognizer(target:self, action:#selector(action(_:)))
itemView.addGestureRecognizer(tap)
itemView.snp.makeConstraints { make in
make.left.right.equalToSuperview()
make.top.equalTo(templateView.snp.bottom).offset(20 + index * 52)
......@@ -306,7 +329,8 @@ class YHCertificateUploadSheetView: UIView {
extension YHCertificateUploadSheetView {
func show() {
func show(_ action:((YHCertificateActionType)->())?) {
self.action = action
UIApplication.shared.yhKeyWindow()?.addSubview(self)
}
......@@ -314,5 +338,14 @@ extension YHCertificateUploadSheetView {
self.removeFromSuperview()
}
@objc func action(_ sender:UITapGestureRecognizer) {
if let targetView = sender.view {
let tag = targetView.tag
if let type = YHCertificateActionType(rawValue:tag), let action = action {
action(type)
}
}
}
}
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