Commit feaeaa874799df0e8ed7449e73abd69bb6f61a78
1 parent
32f6fdde
提交添加身份认证界面
Showing
7 changed files
with
173 additions
and
5 deletions
metaCode.xcodeproj/project.pbxproj
| ... | ... | @@ -33,6 +33,7 @@ |
| 33 | 33 | 798A44EC2A302DBE00815935 /* CNLiveMineAddInfoViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 798A44EB2A302DBE00815935 /* CNLiveMineAddInfoViewController.swift */; }; |
| 34 | 34 | 798A44EE2A305AAC00815935 /* CNLiveBaseNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 798A44ED2A305AAC00815935 /* CNLiveBaseNavigationController.swift */; }; |
| 35 | 35 | 798A44F02A305BC200815935 /* UIButton+CNLiveExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 798A44EF2A305BC200815935 /* UIButton+CNLiveExtension.swift */; }; |
| 36 | + 798A44F22A30674200815935 /* CNLiveMineSubBodyListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 798A44F12A30674200815935 /* CNLiveMineSubBodyListView.swift */; }; | |
| 36 | 37 | 79A68C4A2A26E6CE00DC3B43 /* (null) in Sources */ = {isa = PBXBuildFile; }; |
| 37 | 38 | 79A68C4C2A26EA6000DC3B43 /* (null) in Sources */ = {isa = PBXBuildFile; }; |
| 38 | 39 | 7C4931292A2D8BA8000E44B4 /* CNLiveBaseTabBarViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C4931282A2D8BA8000E44B4 /* CNLiveBaseTabBarViewController.swift */; }; |
| ... | ... | @@ -106,6 +107,7 @@ |
| 106 | 107 | 798A44EB2A302DBE00815935 /* CNLiveMineAddInfoViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveMineAddInfoViewController.swift; sourceTree = "<group>"; }; |
| 107 | 108 | 798A44ED2A305AAC00815935 /* CNLiveBaseNavigationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveBaseNavigationController.swift; sourceTree = "<group>"; }; |
| 108 | 109 | 798A44EF2A305BC200815935 /* UIButton+CNLiveExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIButton+CNLiveExtension.swift"; sourceTree = "<group>"; }; |
| 110 | + 798A44F12A30674200815935 /* CNLiveMineSubBodyListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveMineSubBodyListView.swift; sourceTree = "<group>"; }; | |
| 109 | 111 | 79A68C512A26F59C00DC3B43 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = metaCode/Info.plist; sourceTree = "<group>"; }; |
| 110 | 112 | 7C4931282A2D8BA8000E44B4 /* CNLiveBaseTabBarViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveBaseTabBarViewController.swift; sourceTree = "<group>"; }; |
| 111 | 113 | 7C49312C2A2DB9FA000E44B4 /* UITabBar+CNBadge.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UITabBar+CNBadge.swift"; sourceTree = "<group>"; }; |
| ... | ... | @@ -356,6 +358,7 @@ |
| 356 | 358 | children = ( |
| 357 | 359 | 798A44E72A30134400815935 /* CNLiveMineHeaderView.swift */, |
| 358 | 360 | 798A44E92A30135D00815935 /* CNLiveMineBodyListView.swift */, |
| 361 | + 798A44F12A30674200815935 /* CNLiveMineSubBodyListView.swift */, | |
| 359 | 362 | ); |
| 360 | 363 | path = View; |
| 361 | 364 | sourceTree = "<group>"; |
| ... | ... | @@ -714,6 +717,7 @@ |
| 714 | 717 | 7963989D2A260E6200D045EB /* CNLiveBaseViewController.swift in Sources */, |
| 715 | 718 | 790D01A52A2DF65E00C5978D /* CNLiveLoginPickerView.swift in Sources */, |
| 716 | 719 | 79282A3C2A2EDC2500B5F8CF /* NSString+CNLiveExtensions.swift in Sources */, |
| 720 | + 798A44F22A30674200815935 /* CNLiveMineSubBodyListView.swift in Sources */, | |
| 717 | 721 | 790D01822A2D88FC00C5978D /* CNLiveConfigMacro.swift in Sources */, |
| 718 | 722 | 7CD675482A274167008354C1 /* PGIndexBannerSubiew.m in Sources */, |
| 719 | 723 | 790D019F2A2DD66E00C5978D /* CNLiveLoginViewModel.swift in Sources */, | ... | ... |
metaCode/Classes/Common/Base/CNLiveBaseViewController.swift
| ... | ... | @@ -25,6 +25,18 @@ class CNLiveBaseViewController: UIViewController { |
| 25 | 25 | } |
| 26 | 26 | } |
| 27 | 27 | |
| 28 | + /// 是否隐藏导航栏(默认 隐藏) | |
| 29 | + public var _navigationBarHidden: Bool = true | |
| 30 | + public var navigationBarHidden: Bool { | |
| 31 | + get { | |
| 32 | + return _navigationBarHidden | |
| 33 | + } | |
| 34 | + set { | |
| 35 | + _navigationBarHidden = newValue | |
| 36 | + topNavView.isHidden = _navigationBarHidden | |
| 37 | + } | |
| 38 | + } | |
| 39 | + | |
| 28 | 40 | /// 设置标题显示 |
| 29 | 41 | public var _titleName: String = "" |
| 30 | 42 | public var titleName: String { |
| ... | ... | @@ -133,6 +145,7 @@ class CNLiveBaseViewController: UIViewController { |
| 133 | 145 | |
| 134 | 146 | let tap = UITapGestureRecognizer.init(target: self, action: #selector(topNavViewTap)) |
| 135 | 147 | tap.cancelsTouchesInView = false |
| 148 | + topNavView.isHidden = true | |
| 136 | 149 | topNavView.addGestureRecognizer(tap) |
| 137 | 150 | topNavView.backgroundColor = HexColor("#F7F8FA") |
| 138 | 151 | return topNavView | ... | ... |
metaCode/Classes/Main/MinePage/Controller/CNLiveMineAddInfoViewController.swift
| ... | ... | @@ -7,16 +7,51 @@ |
| 7 | 7 | |
| 8 | 8 | import Foundation |
| 9 | 9 | |
| 10 | - | |
| 11 | -class CNLiveMineAddInfoViewController : CNLiveBaseViewController { | |
| 10 | +class CNLiveMineAddInfoViewController : CNLiveBaseViewController, UITableViewDelegate, UITableViewDataSource { | |
| 11 | + | |
| 12 | + let kCNLiveMineInfoLListTableViewIdentifier = "kCNLiveMineInfoLListTableViewIdentifier" | |
| 12 | 13 | |
| 14 | + lazy var tableView: UITableView = { | |
| 15 | + let tableView = UITableView(frame: .zero, style: .plain) | |
| 16 | + tableView.delegate = self | |
| 17 | + tableView.dataSource = self | |
| 18 | + tableView.backgroundColor = HexColor("#F7F8FA") | |
| 19 | + tableView.tableFooterView = UIView.init() | |
| 20 | + tableView.rowHeight = 100 | |
| 21 | + tableView.separatorStyle = .none | |
| 22 | + tableView.register(MineInfoLListTableViewCell.self, forCellReuseIdentifier: kCNLiveMineInfoLListTableViewIdentifier) | |
| 23 | + return tableView | |
| 24 | + }() | |
| 25 | + | |
| 26 | + override func viewWillAppear(_ animated: Bool) { | |
| 27 | + self.navigationBarHidden = false | |
| 28 | + } | |
| 13 | 29 | |
| 14 | 30 | override func viewDidLoad() { |
| 15 | 31 | super.viewDidLoad() |
| 16 | - view.backgroundColor = HexColor("#f9f9f9") | |
| 17 | - | |
| 18 | 32 | self.titleName = "添加身份" |
| 19 | - | |
| 33 | + view.addSubview(tableView) | |
| 34 | + tableView.snp.makeConstraints { make in | |
| 35 | + make.top.equalTo(get_system_nav_height()) | |
| 36 | + make.left.right.bottom.equalToSuperview() | |
| 37 | + } | |
| 20 | 38 | } |
| 39 | +} | |
| 40 | + | |
| 41 | +extension CNLiveMineAddInfoViewController { | |
| 21 | 42 | |
| 43 | + func numberOfSections(in tableView: UITableView) -> Int { | |
| 44 | + return 1 | |
| 45 | + } | |
| 46 | + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { | |
| 47 | + return 2 | |
| 48 | + } | |
| 49 | + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { | |
| 50 | + let cell = tableView.dequeueReusableCell(withIdentifier: kCNLiveMineInfoLListTableViewIdentifier) as! MineInfoLListTableViewCell | |
| 51 | + cell.setupWithDataSource(icon: "mine_header_icon_defult_ava", name: "志愿者身份") | |
| 52 | + return cell | |
| 53 | + } | |
| 54 | + func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { | |
| 55 | + return 100 | |
| 56 | + } | |
| 22 | 57 | } | ... | ... |
metaCode/Classes/Main/MinePage/View/CNLiveMineSubBodyListView.swift
0 → 100644
| 1 | +// | |
| 2 | +// CNLiveMineSubBodyListView.swift | |
| 3 | +// metaCode | |
| 4 | +// | |
| 5 | +// Created by open on 2023/6/7. | |
| 6 | +// | |
| 7 | + | |
| 8 | +import Foundation | |
| 9 | + | |
| 10 | +class MineInfoLListTableViewCell : UITableViewCell { | |
| 11 | + | |
| 12 | + lazy var mainView: UIImageView = { | |
| 13 | + let mainView = UIImageView.init() | |
| 14 | + mainView.contentMode = .scaleToFill | |
| 15 | + mainView.backgroundColor = .clear | |
| 16 | + mainView.isUserInteractionEnabled = true | |
| 17 | + mainView.image = UIImage(named: "mine_sub_list_add_info") | |
| 18 | + return mainView | |
| 19 | + }() | |
| 20 | + | |
| 21 | + lazy var iconView : UIImageView = { | |
| 22 | + let iconView = UIImageView.init() | |
| 23 | + iconView.contentMode = .scaleToFill | |
| 24 | + iconView.backgroundColor = .clear | |
| 25 | + iconView.layer.masksToBounds = true | |
| 26 | + iconView.layer.cornerRadius = 25 | |
| 27 | + return iconView | |
| 28 | + }() | |
| 29 | + | |
| 30 | + lazy var titleLabel: UILabel = { | |
| 31 | + let titleLabel = UILabel.init() | |
| 32 | + titleLabel.backgroundColor = .clear | |
| 33 | + titleLabel.textColor = .black | |
| 34 | + titleLabel.font = BoldFont_18_Fit | |
| 35 | + return titleLabel | |
| 36 | + }() | |
| 37 | + | |
| 38 | + lazy var addBtn: UIButton = { | |
| 39 | + let addBtn = UIButton.init(type: .custom) | |
| 40 | + addBtn.setTitle(" 去添加 ", for: .normal) | |
| 41 | + addBtn.setTitleColor(.white, for: .normal) | |
| 42 | + addBtn.backgroundColor = HexColor("#67C5FF") | |
| 43 | + addBtn.titleLabel?.font = BoldFont_15 | |
| 44 | + addBtn.layer.cornerRadius = 15 | |
| 45 | + addBtn.layer.masksToBounds = true | |
| 46 | + return addBtn | |
| 47 | + }() | |
| 48 | + | |
| 49 | + public func setupWithDataSource(icon: String, name: String) { | |
| 50 | + iconView.image = UIImage(named: icon) | |
| 51 | + titleLabel.text = name | |
| 52 | + } | |
| 53 | + | |
| 54 | + override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) { | |
| 55 | + super.init(style: style, reuseIdentifier: reuseIdentifier) | |
| 56 | + self.selectionStyle = .none | |
| 57 | + self.backgroundColor = .clear | |
| 58 | + | |
| 59 | + addSubview(mainView) | |
| 60 | + mainView.addSubview(iconView) | |
| 61 | + mainView.addSubview(titleLabel) | |
| 62 | + mainView.addSubview(addBtn) | |
| 63 | + | |
| 64 | + setupConstraints() | |
| 65 | + } | |
| 66 | + | |
| 67 | + func setupConstraints() { | |
| 68 | + mainView.snp.makeConstraints { make in | |
| 69 | + make.left.equalToSuperview().offset(15) | |
| 70 | + make.right.equalToSuperview().offset(-15) | |
| 71 | + make.top.equalToSuperview().offset(5) | |
| 72 | + make.bottom.equalToSuperview().offset(-5) | |
| 73 | + } | |
| 74 | + iconView.snp.makeConstraints { make in | |
| 75 | + make.centerY.equalToSuperview() | |
| 76 | + make.left.equalToSuperview().offset(15) | |
| 77 | + make.size.equalTo(50) | |
| 78 | + } | |
| 79 | + titleLabel.snp.makeConstraints { make in | |
| 80 | + make.centerY.equalToSuperview() | |
| 81 | + make.left.equalTo(iconView.snp.right).offset(10) | |
| 82 | + } | |
| 83 | + addBtn.snp.makeConstraints { make in | |
| 84 | + make.centerY.equalToSuperview() | |
| 85 | + make.right.equalToSuperview().offset(-15) | |
| 86 | + make.width.equalTo(80) | |
| 87 | + make.height.equalTo(30) | |
| 88 | + } | |
| 89 | + } | |
| 90 | + | |
| 91 | + required init?(coder: NSCoder) { | |
| 92 | + fatalError("init(coder:) has not been implemented") | |
| 93 | + } | |
| 94 | +} | ... | ... |
metaCode/Supporting Files/Assets.xcassets/MinePage/mine_sub_list_add_info.imageset/Contents.json
0 → 100644
| 1 | +{ | |
| 2 | + "images" : [ | |
| 3 | + { | |
| 4 | + "idiom" : "universal", | |
| 5 | + "scale" : "1x" | |
| 6 | + }, | |
| 7 | + { | |
| 8 | + "filename" : "mine_sub_list_add_info@2x.png", | |
| 9 | + "idiom" : "universal", | |
| 10 | + "scale" : "2x" | |
| 11 | + }, | |
| 12 | + { | |
| 13 | + "filename" : "mine_sub_list_add_info@3x.png", | |
| 14 | + "idiom" : "universal", | |
| 15 | + "scale" : "3x" | |
| 16 | + } | |
| 17 | + ], | |
| 18 | + "info" : { | |
| 19 | + "author" : "xcode", | |
| 20 | + "version" : 1 | |
| 21 | + } | |
| 22 | +} | ... | ... |
metaCode/Supporting Files/Assets.xcassets/MinePage/mine_sub_list_add_info.imageset/mine_sub_list_add_info@2x.png
0 → 100644
13.2 KB
metaCode/Supporting Files/Assets.xcassets/MinePage/mine_sub_list_add_info.imageset/mine_sub_list_add_info@3x.png
0 → 100644
35.2 KB