Commit 6f2799b1 authored by Steven杜宇's avatar Steven杜宇

// 证书上传sheetView

parent b6c3b16b
......@@ -45,6 +45,7 @@
044CC6292B8741AC0083FF76 /* YHSearchBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 044CC6282B8741AC0083FF76 /* YHSearchBar.swift */; };
044CC62B2B876A230083FF76 /* YHSheetPickerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 044CC62A2B876A230083FF76 /* YHSheetPickerView.swift */; };
044CC62D2B876C980083FF76 /* YHSheetPickerViewType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 044CC62C2B876C980083FF76 /* YHSheetPickerViewType.swift */; };
04594FD52B9EEFB400C34B15 /* YHCertificateUploadSheetView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04594FD42B9EEFB400C34B15 /* YHCertificateUploadSheetView.swift */; };
045DBF782B96FF5900992CAF /* YHImageViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045DBF772B96FF5900992CAF /* YHImageViewController.swift */; };
0468D4202B49320900CFB916 /* YHVerificationCodeLoginController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0468D41F2B49320900CFB916 /* YHVerificationCodeLoginController.swift */; };
0468D4222B493A5E00CFB916 /* YHPhoneMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0468D4212B493A5E00CFB916 /* YHPhoneMessageView.swift */; };
......@@ -371,6 +372,7 @@
044CC6282B8741AC0083FF76 /* YHSearchBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHSearchBar.swift; sourceTree = "<group>"; };
044CC62A2B876A230083FF76 /* YHSheetPickerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHSheetPickerView.swift; sourceTree = "<group>"; };
044CC62C2B876C980083FF76 /* YHSheetPickerViewType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHSheetPickerViewType.swift; sourceTree = "<group>"; };
04594FD42B9EEFB400C34B15 /* YHCertificateUploadSheetView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHCertificateUploadSheetView.swift; sourceTree = "<group>"; };
045DBF772B96FF5900992CAF /* YHImageViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHImageViewController.swift; sourceTree = "<group>"; };
0468D41F2B49320900CFB916 /* YHVerificationCodeLoginController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHVerificationCodeLoginController.swift; sourceTree = "<group>"; };
0468D4212B493A5E00CFB916 /* YHPhoneMessageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHPhoneMessageView.swift; sourceTree = "<group>"; };
......@@ -767,6 +769,7 @@
04594FD12B9EEF1700C34B15 /* V */ = {
isa = PBXGroup;
children = (
04594FD42B9EEFB400C34B15 /* YHCertificateUploadSheetView.swift */,
);
path = V;
sourceTree = "<group>";
......@@ -1961,6 +1964,7 @@
A596C3A12B84D9100067BBB8 /* YHOtherTextViewItemView.swift in Sources */,
A554A5022B96B9BC00EA5973 /* YHAcademicPreviewModel.swift in Sources */,
04010B952B6A1DE90093F3BB /* YHSaveAndSubmitView.swift in Sources */,
04594FD52B9EEFB400C34B15 /* YHCertificateUploadSheetView.swift in Sources */,
A5ACE9362B4564F7002C94D2 /* YHNetworkStatusManager.swift in Sources */,
A5ACE92C2B4564F7002C94D2 /* YHLoginStyleButton.swift in Sources */,
042FBBD42B67A2FE00F9DE23 /* YHFormPickerView.swift in Sources */,
......
......@@ -179,6 +179,7 @@ extension YHServiceCenterMainViewController : UITableViewDelegate,UITableViewDat
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.deselectRow(at: indexPath, animated: true)
printLog("点击了 tableView Cell \(indexPath.section)")
//获取订单号
let orderId = serviceCenterMainReqVM.arrContactList[indexPath.section].id
......
//
// YHCertificateUploadSheetView.swift
// galaxy
//
// Created by edy on 2024/3/11.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
enum YHCertificateUploadType: Int {
case phoneFile = 1
case camera = 2
case photo = 3
case cancel = 4
}
class YHCertificateUploadItem {
var type: YHCertificateUploadType
var title: String
var subtitle: String
init(type:YHCertificateUploadType, title: String, subtitle: String = "") {
self.type = type
self.title = title
self.subtitle = subtitle
}
}
class YHCertificateUploadItemView: UIView {
let item: YHCertificateUploadItem
lazy var topLine:UIView = {
let view = UIView()
view.backgroundColor = .separatorColor
return view
}()
lazy var titleLabel: UILabel = {
let label = UILabel()
label.textColor = UIColor.mainTextColor
label.textAlignment = .center
label.font = UIFont.PFSC_M(ofSize:14)
return label
}()
lazy var subTitleLabel: UILabel = {
let label = UILabel()
label.textColor = UIColor.labelTextColor2
label.textAlignment = .center
label.font = UIFont.PFSC_R(ofSize:11)
return label
}()
init(_ item: YHCertificateUploadItem) {
self.item = item
super.init(frame:CGRect(x: 0, y: 0, width: KScreenWidth, height: 52.0))
self.createUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func createUI() {
self.addSubview(titleLabel)
self.addSubview(subTitleLabel)
self.addSubview(topLine)
titleLabel.text = item.title
subTitleLabel.text = item.subtitle
subTitleLabel.isHidden = item.subtitle.isEmpty
if item.type == .cancel {
titleLabel.textColor = UIColor(hexString:"#909090")
}
titleLabel.snp.makeConstraints { make in
make.height.equalTo(20)
make.left.right.equalToSuperview()
if item.subtitle.isEmpty {
make.centerY.equalToSuperview()
} else {
make.bottom.equalTo(self.snp.centerY)
}
}
subTitleLabel.snp.makeConstraints { make in
make.height.equalTo(16)
make.left.right.equalToSuperview()
make.top.equalTo(titleLabel.snp.bottom)
}
topLine.snp.makeConstraints { make in
make.left.equalToSuperview().offset(20)
make.right.equalToSuperview().offset(-20)
make.top.equalToSuperview()
make.height.equalTo(1)
}
}
}
class YHCertificateSampleTemplateView: UIView {
lazy var iconImgV: UIImageView = {
let imgView = UIImageView(image:UIImage(named:"my_cer_template"))
return imgView
}()
lazy var arrowImgV: UIImageView = {
let imgView = UIImageView(image:UIImage(named:"form_right_arrow"))
return imgView
}()
lazy var titleLabel: UILabel = {
let label = UILabel()
label.text = "查看证件示例模版".local
label.textColor = UIColor.mainTextColor
label.textAlignment = .left
label.font = UIFont.PFSC_B(ofSize:14)
return label
}()
override init(frame: CGRect) {
super.init(frame: frame)
createUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func createUI() {
self.addSubview(iconImgV)
self.addSubview(titleLabel)
self.addSubview(arrowImgV)
iconImgV.snp.makeConstraints { make in
make.width.height.equalTo(24)
make.centerY.equalToSuperview()
make.left.equalToSuperview().offset(16)
}
titleLabel.snp.makeConstraints { make in
make.height.equalTo(20)
make.centerY.equalToSuperview()
make.left.equalTo(iconImgV.snp.right).offset(12)
make.right.equalTo(arrowImgV.snp.left).offset(-5)
}
arrowImgV.snp.makeConstraints { make in
make.width.height.equalTo(20)
make.centerY.equalToSuperview()
make.right.equalToSuperview().offset(-13)
}
}
}
class YHCertificateUploadSheetView: UIView {
static let sheetView = YHCertificateUploadSheetView(frame:UIScreen.main.bounds)
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 topView:UIView = {
let view = UIView()
view.addSubview(titleLabel)
view.addSubview(closeBtn)
let line = UIView()
line.backgroundColor = .separatorColor
view.addSubview(line)
titleLabel.snp.makeConstraints { make in
make.top.equalToSuperview().offset(16)
make.left.right.equalToSuperview()
make.height.equalTo(24)
}
closeBtn.snp.makeConstraints { make in
make.centerY.equalTo(titleLabel)
make.right.equalToSuperview().offset(-20)
make.width.height.equalTo(24)
}
line.snp.makeConstraints { make in
make.left.equalToSuperview().offset(20)
make.right.equalToSuperview().offset(-20)
make.height.equalTo(1)
make.top.equalTo(titleLabel.snp.bottom).offset(12)
make.bottom.equalToSuperview()
}
return view
}()
lazy var titleLabel: UILabel = {
let label = UILabel()
label.textColor = UIColor.mainTextColor
label.textAlignment = .center
label.font = UIFont.PFSC_B(ofSize:17)
label.text = "请选择上传方式"
return label
}()
lazy var closeBtn: UIButton = {
let btn = UIButton()
btn.setImage(UIImage(named:"my_cer_sheet_close"), for: .normal)
btn.addTarget(self, action: #selector(dismiss), for: .touchUpInside)
return btn
}()
lazy var tipsLabel: UILabel = {
let label = UILabel()
label.textColor = UIColor.mainTextColor
label.textAlignment = .left
label.font = UIFont.PFSC_R(ofSize:14)
label.numberOfLines = 0
label.text = "注意事项:这里是上传应该注意的事项这里是上传应该注意的事项这里是上传应该注意的事项。"
return label
}()
lazy var templateView: YHCertificateSampleTemplateView = {
let view = YHCertificateSampleTemplateView(frame:CGRectZero)
view.backgroundColor = .contentBkgColor
view.layer.cornerRadius = 6.0
view.clipsToBounds = true
return view
}()
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override init(frame: CGRect) {
super.init(frame: frame)
createUI()
}
func createUI() {
self.addSubview(blackMaskView)
self.addSubview(whiteContentView)
whiteContentView.addSubview(topView)
whiteContentView.addSubview(templateView)
whiteContentView.addSubview(tipsLabel)
let itemView1 = YHCertificateUploadItemView(YHCertificateUploadItem(type:.camera, title:"拍照上传"))
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)
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;
blackMaskView.snp.makeConstraints { make in
make.edges.equalToSuperview()
}
whiteContentView.snp.makeConstraints { make in
make.left.right.bottom.equalToSuperview()
make.top.equalToSuperview().offset(355)
}
topView.snp.makeConstraints { make in
make.top.left.right.equalToSuperview()
}
tipsLabel.snp.makeConstraints { make in
make.left.equalToSuperview().offset(20)
make.right.equalToSuperview().offset(-20)
make.top.equalTo(topView.snp.bottom).offset(20)
}
templateView.snp.makeConstraints { make in
make.left.equalToSuperview().offset(20)
make.right.equalToSuperview().offset(-20)
make.top.equalTo(tipsLabel.snp.bottom).offset(20)
make.height.equalTo(62.0)
}
for (index, itemView) in itemViewArr.enumerated() {
itemView.snp.makeConstraints { make in
make.left.right.equalToSuperview()
make.top.equalTo(templateView.snp.bottom).offset(20 + index * 52)
make.height.equalTo(52.0)
}
}
}
}
extension YHCertificateUploadSheetView {
func show() {
UIApplication.shared.yhKeyWindow()?.addSubview(self)
}
@objc func dismiss() {
self.removeFromSuperview()
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Group 2848@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Group 2848@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Frame@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Frame@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