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

Merge branch '630-dev' of http://gitlab.galaxy-immi.com/mobile-group/galaxy-iOS into 630-dev

* '630-dev' of http://gitlab.galaxy-immi.com/mobile-group/galaxy-iOS:
  //  我的好友空视图
  //  指南蒙层
  //  卡片点击逻辑
  //  卡片
parents ef298904 1340b4b0
......@@ -337,6 +337,10 @@
04FA8B2E2C084C7E00ABE43F /* ATAuthSDK.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 04FA8B2D2C084C7E00ABE43F /* ATAuthSDK.bundle */; };
04FA8B302C0874CA00ABE43F /* YHOneKeyLoginViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04FA8B2F2C0874CA00ABE43F /* YHOneKeyLoginViewModel.swift */; };
04FA8B332C0880A100ABE43F /* YHAppleLoginViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04FA8B322C0880A100ABE43F /* YHAppleLoginViewModel.swift */; };
04FB01CE2C23DDBD0040115D /* YHPeopleMatchNoDataView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04FB01CD2C23DDBD0040115D /* YHPeopleMatchNoDataView.swift */; };
04FB01D02C23FA420040115D /* YHPeopleCardModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04FB01CF2C23FA420040115D /* YHPeopleCardModel.swift */; };
04FB01D22C23FCDD0040115D /* YHMatchCardUsageGuideView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04FB01D12C23FCDD0040115D /* YHMatchCardUsageGuideView.swift */; };
04FB01D42C2404F50040115D /* YHMyFriendsNoDataView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04FB01D32C2404F50040115D /* YHMyFriendsNoDataView.swift */; };
04FD85662C2124AF00BEF9C5 /* YHMyNameCardViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04FD85652C2124AF00BEF9C5 /* YHMyNameCardViewController.swift */; };
04FD85682C21277800BEF9C5 /* YHMyNameCardAvatarInfoCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04FD85672C21277800BEF9C5 /* YHMyNameCardAvatarInfoCell.swift */; };
04FD856A2C21362300BEF9C5 /* YHMyIntroductionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04FD85692C21362300BEF9C5 /* YHMyIntroductionCell.swift */; };
......@@ -872,6 +876,10 @@
04FA8B2D2C084C7E00ABE43F /* ATAuthSDK.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = ATAuthSDK.bundle; path = "galaxy/Classes/Modules/AutoLogin(一键登录)/framework/ATAuthSDK_D.framework/ATAuthSDK.bundle"; sourceTree = "<group>"; };
04FA8B2F2C0874CA00ABE43F /* YHOneKeyLoginViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHOneKeyLoginViewModel.swift; sourceTree = "<group>"; };
04FA8B322C0880A100ABE43F /* YHAppleLoginViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHAppleLoginViewModel.swift; sourceTree = "<group>"; };
04FB01CD2C23DDBD0040115D /* YHPeopleMatchNoDataView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHPeopleMatchNoDataView.swift; sourceTree = "<group>"; };
04FB01CF2C23FA420040115D /* YHPeopleCardModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHPeopleCardModel.swift; sourceTree = "<group>"; };
04FB01D12C23FCDD0040115D /* YHMatchCardUsageGuideView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMatchCardUsageGuideView.swift; sourceTree = "<group>"; };
04FB01D32C2404F50040115D /* YHMyFriendsNoDataView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMyFriendsNoDataView.swift; sourceTree = "<group>"; };
04FD85652C2124AF00BEF9C5 /* YHMyNameCardViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMyNameCardViewController.swift; sourceTree = "<group>"; };
04FD85672C21277800BEF9C5 /* YHMyNameCardAvatarInfoCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMyNameCardAvatarInfoCell.swift; sourceTree = "<group>"; };
04FD85692C21362300BEF9C5 /* YHMyIntroductionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMyIntroductionCell.swift; sourceTree = "<group>"; };
......@@ -1217,6 +1225,7 @@
isa = PBXGroup;
children = (
044D0BFD2C21649A00C5CF5E /* YHUserInformationModel.swift */,
04FB01CF2C23FA420040115D /* YHPeopleCardModel.swift */,
);
path = M;
sourceTree = "<group>";
......@@ -2121,6 +2130,9 @@
04FD85712C21786900BEF9C5 /* YHNameCardInfoView.swift */,
044D0BFF2C21663300C5CF5E /* YHMyInformationItemCell.swift */,
044D0C052C22736F00C5CF5E /* YHSetExplainView.swift */,
04FB01CD2C23DDBD0040115D /* YHPeopleMatchNoDataView.swift */,
04FB01D12C23FCDD0040115D /* YHMatchCardUsageGuideView.swift */,
04FB01D32C2404F50040115D /* YHMyFriendsNoDataView.swift */,
);
path = V;
sourceTree = "<group>";
......@@ -3015,6 +3027,7 @@
044867B82BA1C75700DFAD4A /* YHCertificateUploadFailTipsView.swift in Sources */,
044D0C062C22736F00C5CF5E /* YHSetExplainView.swift in Sources */,
045EEF002B9F171A0022A143 /* YHFormItemEnterDetailCell.swift in Sources */,
04FB01CE2C23DDBD0040115D /* YHPeopleMatchNoDataView.swift in Sources */,
A5ACE9362B4564F7002C94D2 /* YHNetworkStatusManager.swift in Sources */,
048787D52BCE880B0036E221 /* YHServiceOrderListViewController.swift in Sources */,
A5D0012A2BABC84A001F003C /* YHFileListHeaerView.swift in Sources */,
......@@ -3137,6 +3150,7 @@
045EEF072B9F171A0022A143 /* YHBasicInfoFillViewModel.swift in Sources */,
045EEF212B9F171A0022A143 /* YHMainInformationTableViewCell.swift in Sources */,
A5ACE9462B4564F7002C94D2 /* YHHUDSquareBaseView.swift in Sources */,
04FB01D42C2404F50040115D /* YHMyFriendsNoDataView.swift in Sources */,
04D144762C0452E200EE3758 /* YHOneKeyLoginManager.swift in Sources */,
A5551FFE2B4C26CE00510980 /* YHBaseViewModel.swift in Sources */,
048B2A4A2BC7D9DC00A93BF0 /* YHMyLikeViewController.swift in Sources */,
......@@ -3144,6 +3158,7 @@
045EEED92B9F171A0022A143 /* YHEducationDetailVC.swift in Sources */,
045EEF1A2B9F171A0022A143 /* YHAddressViewController.swift in Sources */,
A5C382CA2B5E1F4C00C5E65C /* YHLoginTipsView.swift in Sources */,
04FB01D02C23FA420040115D /* YHPeopleCardModel.swift in Sources */,
045EEEE92B9F171A0022A143 /* YHFamilyRequestViewModel.swift in Sources */,
04F957472C203033003C631C /* YHMyGoodFriendsVC.swift in Sources */,
044867B42BA1953B00DFAD4A /* YHCertificateFilterView.swift in Sources */,
......@@ -3172,6 +3187,7 @@
A5FD63C92B63A35B00D1D9DA /* YHInformationFillTipsAlertView.swift in Sources */,
04174D762BCD5B74000BA46D /* YHMsgListModel.swift in Sources */,
045EEEE32B9F171A0022A143 /* YHMySignatureListModel.swift in Sources */,
04FB01D22C23FCDD0040115D /* YHMatchCardUsageGuideView.swift in Sources */,
049AC4C62BC3E55300F857F4 /* YHServiceSectionView.swift in Sources */,
0408C3632BEC7C6900DB1E25 /* YHVideoPlayerControlView.swift in Sources */,
A567E5B12BD7643D00D5D5A0 /* YHHomeCollectionViewCell.swift in Sources */,
......
......@@ -9,9 +9,10 @@
import UIKit
import DragCardContainer
class YHMatchPeopleViewController: YHBaseViewController {
var matchCardsArr:[String] = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""]
var matchCardsArr:[YHPeopleCardModel] = [YHPeopleCardModel(), YHPeopleCardModel(), YHPeopleCardModel(), YHPeopleCardModel(), YHPeopleCardModel()]
lazy var bgImgV:UIImageView = {
let bg = UIImageView(image: UIImage(named: "people_match_result_bg"))
......@@ -32,7 +33,6 @@ class YHMatchPeopleViewController: YHBaseViewController {
bar.rightBtnClick = {
[weak self] in
guard let self = self else { return }
}
return bar
}()
......@@ -46,6 +46,12 @@ class YHMatchPeopleViewController: YHBaseViewController {
return label
}()
lazy var guideView:YHMatchCardUsageGuideView = {
let view = YHMatchCardUsageGuideView.createView()
view.isHidden = true
return view
}()
lazy var changeBtn:UIButton = {
let btn = UIButton()
btn.setImage(UIImage(named: "people_match_change"), for: .normal)
......@@ -66,7 +72,34 @@ class YHMatchPeopleViewController: YHBaseViewController {
return btn
}()
private let allowedDirection: [Direction] = [.left, .up, .right]
lazy var rematchBtn:UIButton = {
let btn = UIButton()
btn.isHidden = true
btn.setTitle("再次智能匹配", for: .normal)
btn.backgroundColor = .brandMainColor
btn.setTitleColor(.white, for: .normal)
btn.titleLabel?.font = .PFSC_M(ofSize: 15)
btn.layer.cornerRadius = 3
btn.addTarget(self, action: #selector(didRematchBtnClicked), for: .touchUpInside)
return btn
}()
lazy var noDataView:YHPeopleMatchNoDataView = {
let view = YHPeopleMatchNoDataView.createView()
view.isHidden = true
view.relookBlock = {
[weak self] in
guard let self = self else { return }
self.rematchBtn.isHidden = true
self.changeBtn.isHidden = false
self.myCardBtn.isHidden = false
self.cardContainer.reloadData(forceReset: true)
}
return view
}()
// 卡片允许使用的手势方向
private let allowedDirection: [Direction] = [.left, .right]
lazy var cardContainer: DragCardContainer = {
let cardContainer = DragCardContainer()
// 是否可以无限滑动
......@@ -118,13 +151,19 @@ class YHMatchPeopleViewController: YHBaseViewController {
self.navigationController?.pushViewController(vc)
}
@objc func didRematchBtnClicked() {
}
func createUI() {
gk_navigationBar.isHidden = true
self.view.addSubview(bgImgV)
self.view.addSubview(self.cardActionView)
self.view.addSubview(navBar)
self.view.addSubview(topLabel)
self.view.addSubview(changeBtn)
self.view.addSubview(myCardBtn)
let lineView = UIView()
lineView.backgroundColor = UIColor(hex: 0xFFFFFF, alpha: 0.3)
self.view.addSubview(lineView)
......@@ -135,8 +174,11 @@ class YHMatchPeopleViewController: YHBaseViewController {
let wingRightImgV = UIImageView(image: UIImage(named: "people_match_wing_right"))
self.view.addSubview(wingRightImgV)
self.view.addSubview(self.cardActionView)
self.cardActionView.addSubview(cardContainer)
self.view.addSubview(navBar)
self.view.addSubview(self.noDataView)
self.view.addSubview(self.rematchBtn)
self.view.addSubview(self.guideView)
self.bgImgV.snp.makeConstraints { make in
make.edges.equalToSuperview()
......@@ -183,16 +225,31 @@ class YHMatchPeopleViewController: YHBaseViewController {
}
self.cardActionView.snp.makeConstraints { make in
make.edges.equalToSuperview()
make.left.right.equalToSuperview()
make.top.equalToSuperview().offset(102+k_Height_NavigationtBarAndStatuBar)
make.height.equalTo(466.0)
}
self.cardContainer.snp.makeConstraints { make in
make.centerX.equalToSuperview()
make.left.equalTo(36)
make.right.equalTo(-36)
make.top.equalToSuperview().offset(102+k_Height_NavigationtBarAndStatuBar)
make.top.equalToSuperview()
make.height.equalTo(466.0)
}
self.noDataView.snp.makeConstraints { make in
make.left.right.equalToSuperview()
make.top.equalTo(self.topLabel.snp.bottom).offset(120)
make.height.equalTo(YHPeopleMatchNoDataView.height)
}
self.rematchBtn.snp.makeConstraints { make in
make.left.equalTo(24)
make.right.equalTo(-24)
make.height.equalTo(48)
make.bottom.equalTo(-135)
}
animaiton()
}
......@@ -202,12 +259,12 @@ class YHMatchPeopleViewController: YHBaseViewController {
view1.y = -YHNameCardInfoView.height
view1.x = 36
let view2 = YHNameCardInfoView.createCardView()
view2.cardView.backgroundColor = UIColor.init(hex: 0xE7EBF3)
view2.backgroundColor = UIColor.init(hex: 0xE7EBF3)
view2.y = -YHNameCardInfoView.height
view2.x = 36+5
view2.width = YHNameCardInfoView.width-5*2
let view3 = YHNameCardInfoView.createCardView()
view3.cardView.backgroundColor = UIColor.init(hex: 0xC4CEE3)
view3.backgroundColor = UIColor.init(hex: 0xC4CEE3)
view3.y = -YHNameCardInfoView.height
view3.x = 36+10
view3.width = YHNameCardInfoView.width-5*4
......@@ -230,6 +287,7 @@ class YHMatchPeopleViewController: YHBaseViewController {
[weak self] finish in
guard let self = self else { return }
self.cardContainer.isHidden = false
self.guideView.isHidden = false
view1.removeFromSuperview()
view2.removeFromSuperview()
view3.removeFromSuperview()
......@@ -247,13 +305,13 @@ extension YHMatchPeopleViewController: DragCardDataSource {
let cardView:YHNameCardInfoView = YHNameCardInfoView.createCardView()
cardView.allowedDirection = self.allowedDirection
if index % 3 == 0 {
cardView.cardView.backgroundColor = .white
} else if index % 3 == 1 {
cardView.cardView.backgroundColor = UIColor.init(hex: 0xE7EBF3)
} else if index % 3 == 2 {
cardView.cardView.backgroundColor = UIColor.init(hex: 0xC4CEE3)
cardView.tag = 1000+index
if 0 <= index && index < self.matchCardsArr.count {
let cardModel = self.matchCardsArr[index]
cardView.cardModel = cardModel
cardView.sendBlock = {
cardModel.isSend = true
}
}
return cardView
}
......@@ -261,10 +319,19 @@ extension YHMatchPeopleViewController: DragCardDataSource {
extension YHMatchPeopleViewController: DragCardDelegate {
public func dragCard(_ dragCard: DragCardContainer, displayTopCardAt index: Int, with cardView: DragCardView) {
print("displayTopCardAt: \(index)")
if cardView is YHNameCardInfoView {
let cardInfoView = cardView as! YHNameCardInfoView
cardInfoView.cardView.backgroundColor = .white
cardInfoView.backgroundColor = .white
if let secondCardView = dragCard.viewWithTag(1000+index+1) as? YHNameCardInfoView {
secondCardView.backgroundColor = UIColor.init(hex: 0xE7EBF3)
}
if let thirdCardView = dragCard.viewWithTag(1000+index+2) as? YHNameCardInfoView {
thirdCardView.backgroundColor = UIColor.init(hex: 0xC4CEE3)
}
}
}
......@@ -274,6 +341,12 @@ extension YHMatchPeopleViewController: DragCardDelegate {
public func dragCard(_ dragCard: DragCardContainer, didRemovedLast cardView: DragCardView) {
print("didRemovedLast")
DispatchQueue.main.asyncAfter(deadline: .now()+0.5, execute: {
self.noDataView.isHidden = false
self.rematchBtn.isHidden = false
self.changeBtn.isHidden = true
self.myCardBtn.isHidden = true
})
}
public func dragCard(_ dragCard: DragCardContainer, didSelectTopCardAt index: Int, with cardView: DragCardView) {
......
......@@ -22,7 +22,6 @@ class YHMyGoodFriendsVC: YHBaseViewController {
tableView.register(YHMyFriendsCell.self, forCellReuseIdentifier: YHMyFriendsCell.cellReuseIdentifier)
tableView.contentInset = UIEdgeInsets(top: YHFriendsResponseView.height+16, left: 0, bottom: 0, right: 0)
tableView.addSubview(self.friendRequestView)
tableView.backgroundView = self.emptyDataTipsView
return tableView
}()
......@@ -37,9 +36,13 @@ class YHMyGoodFriendsVC: YHBaseViewController {
return view
}()
lazy var emptyDataTipsView: YHEmptyDataView = {
let view = YHEmptyDataView.createView("暂无好友", kNoFriendsBgName)
view.topMargin = 222
lazy var emptyDataTipsView: YHMyFriendsNoDataView = {
let view = YHMyFriendsNoDataView(frame: CGRect(x: 0, y: k_Height_NavigationtBarAndStatuBar, width: KScreenWidth, height: KScreenHeight-k_Height_NavigationtBarAndStatuBar))
view.bottomBtnClick = {
[weak self] in
guard let self = self else { return }
self.navigationController?.popViewController(animated: true)
}
view.isHidden = true
return view
}()
......@@ -52,6 +55,7 @@ class YHMyGoodFriendsVC: YHBaseViewController {
gk_navigationBar.backgroundColor = .white
self.view.backgroundColor = UIColor(hex: 0xF8FAFB)
self.view.addSubview(self.tableView)
self.view.addSubview(self.emptyDataTipsView)
self.tableView.snp.makeConstraints { make in
make.left.equalTo(16)
make.right.equalTo(-16)
......
//
// YHPeopleCardModel.swift
// galaxy
//
// Created by edy on 2024/6/20.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHPeopleCardModel: NSObject {
var isSend:Bool = false
}
......@@ -10,10 +10,15 @@ import UIKit
class YHFriendRequestView: UIView {
var sendBlock:((String?)->())?
static let cardHeight = 313.0
let textMaxCount = 10
// 底层蒙版
lazy var blackMaskView: UIView = {
let view = UIView()
view.backgroundColor = .alertMaskColor
let tap = UITapGestureRecognizer(target: self, action: #selector(didMaskViewClicked))
view.addGestureRecognizer(tap)
return view
}()
......@@ -60,11 +65,21 @@ class YHFriendRequestView: UIView {
return view
}()
lazy var msgLabel:UILabel = {
lazy var textView:UITextView = {
let view = UITextView()
view.textColor = .mainTextColor70
view.font = UIFont.PFSC_R(ofSize: 14)
view.backgroundColor = .clear
view.delegate = self
return view
}()
lazy var textCountLabel:UILabel = {
let label = UILabel()
label.textColor = UIColor.mainTextColor50
label.textAlignment = .left
label.font = UIFont.PFSC_R(ofSize:13)
label.textColor = UIColor.mainTextColor30
label.textAlignment = .right
label.font = UIFont.PFSC_R(ofSize:14)
label.text = "0/\(self.textMaxCount)"
return label
}()
......@@ -119,11 +134,28 @@ class YHFriendRequestView: UIView {
}
@objc func didSendBtnClicked() {
self.sendBlock?(self.textView.text)
dismiss()
}
@objc func didMaskViewClicked() {
self.endEditing(true)
}
func addKeyBoardNotify() {
NotificationCenter.default.addObserver(self, selector: #selector(handleKeyboardNotification(_:)), name: UIResponder.keyboardWillShowNotification, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(handleKeyboardNotification(_:)), name: UIResponder.keyboardWillHideNotification, object: nil)
}
deinit {
NotificationCenter.default.removeObserver(self)
}
func createUI() {
addKeyBoardNotify()
self.addSubview(self.blackMaskView)
self.addSubview(cardView)
cardView.addSubview(headImgV)
......@@ -132,7 +164,8 @@ class YHFriendRequestView: UIView {
cardView.addSubview(professionalLabel)
cardView.addSubview(msgContentView)
msgContentView.addSubview(msgLabel)
msgContentView.addSubview(textView)
msgContentView.addSubview(textCountLabel)
cardView.addSubview(cancelBtn)
cardView.addSubview(sendBtn)
......@@ -140,7 +173,6 @@ class YHFriendRequestView: UIView {
self.headImgV.backgroundColor = .red
self.nameLabel.text = "XASAFSDFASDXASAFSDFASDXASAFSDFASDXASAFSDFASD"
self.professionalLabel.text = "咨询副总监 | 资讯科技及电讯"
self.msgLabel.text = "sdfasdfasdfasfasfasfasfasdfasdfas"
blackMaskView.snp.makeConstraints { make in
make.edges.equalToSuperview()
......@@ -149,8 +181,8 @@ class YHFriendRequestView: UIView {
cardView.snp.makeConstraints { make in
make.left.equalTo(38)
make.right.equalTo(-38)
make.centerY.equalToSuperview()
make.height.equalTo(313)
make.bottom.equalToSuperview().offset(-(KScreenHeight-YHFriendRequestView.cardHeight)/2.0)
make.height.equalTo(Self.cardHeight)
}
headImgV.snp.makeConstraints { make in
......@@ -187,9 +219,17 @@ class YHFriendRequestView: UIView {
make.height.equalTo(140)
}
self.msgLabel.snp.makeConstraints { make in
make.left.top.equalTo(6)
make.right.bottom.equalTo(-6)
self.textView.snp.makeConstraints { make in
make.left.top.equalTo(16)
make.right.equalTo(-16)
}
self.textCountLabel.snp.makeConstraints { make in
make.left.equalTo(16)
make.right.equalTo(-16)
make.top.equalTo(self.textView.snp.bottom).offset(16)
make.height.equalTo(16)
make.bottom.equalToSuperview().offset(-16)
}
self.cancelBtn.snp.makeConstraints { make in
......@@ -206,4 +246,35 @@ class YHFriendRequestView: UIView {
make.height.equalTo(45)
}
}
@objc func handleKeyboardNotification(_ notification: Notification) {
if notification.userInfo != nil {
guard let keyboardFrame = (notification.userInfo?[UIResponder.keyboardFrameEndUserInfoKey] as AnyObject).cgRectValue else {return }
let isKeyboardShow = notification.name == UIResponder.keyboardWillShowNotification
let bottomMargin = (isKeyboardShow ? keyboardFrame.height : (KScreenHeight-YHFriendRequestView.cardHeight)/2.0)
self.cardView.snp.updateConstraints { make in
make.bottom.equalToSuperview().offset(-bottomMargin)
}
self.setNeedsLayout()
self.layoutIfNeeded()
}
}
}
extension YHFriendRequestView: UITextViewDelegate {
func textViewDidChange(_ textView: UITextView) {
self.textCountLabel.text = "\(textView.text.count)/\(self.textMaxCount)"
}
func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
if text.isEmpty {
return true
}
let newLength = (textView.text as NSString).length + text.count - range.length
return newLength <= self.textMaxCount
}
}
//
// YHMatchCardUsageGuideView.swift
// galaxy
//
// Created by edy on 2024/6/20.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHMatchCardUsageGuideView: UIView {
// 底层蒙版
lazy var blackMaskView: UIView = {
let view = UIView()
view.backgroundColor = .alertMaskColor
return view
}()
lazy var handImgView:UIImageView = {
let view = UIImageView(image: UIImage(named: "people_card_guide_hand"))
return view
}()
lazy var leftGestureImgView:UIImageView = {
let view = UIImageView(image: UIImage(named: "people_card_guide_gesture_left"))
return view
}()
lazy var rightGestureImgView:UIImageView = {
let view = UIImageView(image: UIImage(named: "people_card_guide_gesture_right"))
return view
}()
lazy var knownBtn:UIButton = {
let btn = UIButton()
btn.setTitle("我知道了", for: .normal)
btn.backgroundColor = .clear
btn.setTitleColor(.white, for: .normal)
btn.titleLabel?.font = .PFSC_M(ofSize: 14)
btn.layer.cornerRadius = 3
btn.layer.borderWidth = 1.0
btn.layer.borderColor = UIColor.white.cgColor
btn.addTarget(self, action: #selector(didKnownBtnClicked), for: .touchUpInside)
return btn
}()
@objc func didKnownBtnClicked() {
self.removeFromSuperview()
}
override init(frame: CGRect) {
super.init(frame: frame)
createUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
static func createView() ->YHMatchCardUsageGuideView {
let view = YHMatchCardUsageGuideView(frame: UIScreen.main.bounds)
return view
}
func createUI() {
self.addSubview(self.blackMaskView)
self.addSubview(self.handImgView)
self.addSubview(self.leftGestureImgView)
self.addSubview(self.rightGestureImgView)
self.addSubview(self.knownBtn)
self.blackMaskView.snp.makeConstraints { make in
make.edges.equalToSuperview()
}
self.handImgView.snp.makeConstraints { make in
make.width.equalTo(56)
make.height.equalTo(87)
make.centerX.equalToSuperview()
make.centerY.equalToSuperview()
}
self.leftGestureImgView.snp.makeConstraints { make in
make.width.equalTo(83)
make.height.equalTo(42)
make.right.equalTo(self.handImgView.snp.left).offset(-16)
make.top.equalTo(self.handImgView.snp.top).offset(-16)
}
self.rightGestureImgView.snp.makeConstraints { make in
make.width.equalTo(83)
make.height.equalTo(42)
make.left.equalTo(self.handImgView.snp.right).offset(16)
make.top.equalTo(self.handImgView.snp.top).offset(-16)
}
self.knownBtn.snp.makeConstraints { make in
make.width.equalTo(128)
make.height.equalTo(45)
make.centerX.equalToSuperview()
make.top.equalTo(self.handImgView.snp.bottom).offset(40)
}
}
}
//
// YHMyFriendsNoDataView.swift
// galaxy
//
// Created by edy on 2024/6/20.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHMyFriendsNoDataView: UIView {
var bottomBtnClick:(()->())?
lazy var bgImgView:UIImageView = {
let view = UIImageView(image: UIImage(named: "people_no_friend_bg"))
return view
}()
lazy var titleLabel:UILabel = {
let label = UILabel()
label.textColor = UIColor.mainTextColor
label.textAlignment = .center
label.font = UIFont.PFSC_M(ofSize:14)
label.text = "暂无好友"
return label
}()
lazy var bottomBtn:UIButton = {
let btn = UIButton()
btn.setTitle("返回人脉主页", for: .normal)
btn.backgroundColor = .brandMainColor
btn.setTitleColor(.white, for: .normal)
btn.titleLabel?.font = .PFSC_M(ofSize: 13)
btn.layer.cornerRadius = 3
btn.addTarget(self, action: #selector(didBottomBtnClicked), for: .touchUpInside)
return btn
}()
@objc func didBottomBtnClicked() {
self.bottomBtnClick?()
}
override init(frame: CGRect) {
super.init(frame: frame)
createUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func createUI() {
self.backgroundColor = .white
self.addSubview(self.bgImgView)
self.addSubview(self.titleLabel)
self.addSubview(self.bottomBtn)
self.bgImgView.snp.makeConstraints { make in
make.width.equalTo(128)
make.height.equalTo(128)
make.centerX.equalToSuperview()
make.top.equalToSuperview().offset(148)
}
self.titleLabel.snp.makeConstraints { make in
make.top.equalTo(self.bgImgView.snp.bottom).offset(12)
make.height.equalTo(20)
make.centerX.equalToSuperview()
}
self.bottomBtn.snp.makeConstraints { make in
make.width.equalTo(110)
make.height.equalTo(38)
make.centerX.equalToSuperview()
make.top.equalTo(self.titleLabel.snp.bottom).offset(22)
}
}
}
......@@ -13,14 +13,21 @@ class YHNameCardInfoView: DragCardView {
static let height = 456.0
static let width = KScreenWidth-36.0*2
lazy var cardView: UIView = {
let view = UIView()
view.backgroundColor = .white
view.layer.cornerRadius = 3.0
view.clipsToBounds = true
return view
}()
var sendBlock:(()->())?
var cardModel:YHPeopleCardModel = YHPeopleCardModel() {
didSet {
if self.cardModel.isSend {
self.bottomBtn.setTitle("已发送好友申请", for: .normal)
self.bottomBtn.backgroundColor = .brandMainColor30
self.bottomBtn.isUserInteractionEnabled = false
} else {
self.bottomBtn.setTitle("交换名片", for: .normal)
self.bottomBtn.backgroundColor = .brandMainColor
self.bottomBtn.isUserInteractionEnabled = true
}
}
}
lazy var bgImgV:UIImageView = {
let view = UIImageView()
......@@ -89,7 +96,8 @@ class YHNameCardInfoView: DragCardView {
override init(frame: CGRect) {
super.init(frame: frame)
createUI()
initUI()
setupUI()
}
required init?(coder: NSCoder) {
......@@ -97,7 +105,16 @@ class YHNameCardInfoView: DragCardView {
}
@objc func didBottomBtnClicked() {
YHFriendRequestView.createView().show()
let view = YHFriendRequestView.createView()
view.sendBlock = {
[weak self] text in
guard let self = self else { return }
self.bottomBtn.setTitle("已发送好友申请", for: .normal)
self.bottomBtn.backgroundColor = .brandMainColor30
self.bottomBtn.isUserInteractionEnabled = false
self.sendBlock?()
}
view.show()
}
static func createCardView() -> YHNameCardInfoView {
......@@ -111,25 +128,27 @@ class YHNameCardInfoView: DragCardView {
}
func createUI() {
self.addSubview(self.cardView)
cardView.addSubview(self.bgImgV)
cardView.addSubview(self.headImgV)
cardView.addSubview(self.signImgV)
cardView.addSubview(self.nameLabel)
cardView.addSubview(self.professionalLabel)
cardView.addSubview(self.grayContentView)
private func initUI() {
self.backgroundColor = .white
self.layer.cornerRadius = 3.0
self.clipsToBounds = true
}
private func setupUI() {
self.contentView.addSubview(self.bgImgV)
self.contentView.addSubview(self.headImgV)
self.contentView.addSubview(self.signImgV)
self.contentView.addSubview(self.nameLabel)
self.contentView.addSubview(self.professionalLabel)
self.contentView.addSubview(self.grayContentView)
grayContentView.addSubview(self.detailLabel)
cardView.addSubview(self.bottomBtn)
self.contentView.addSubview(self.bottomBtn)
nameLabel.text = "阿斯顿法师打发沙发上"
nameLabel.text = "阿斯顿法师"
professionalLabel.text = "啊发沙发沙发沙发沙发沙发三大发沙发的算法的算法的沙发沙发萨达1"
detailLabel.text = "阿萨法法师懂法守法萨芬沙发沙发发说法发生发顺丰"
self.cardView.snp.makeConstraints { make in
make.edges.equalToSuperview()
}
self.bgImgV.snp.makeConstraints { make in
make.left.top.right.equalToSuperview()
make.height.equalTo(180)
......
//
// YHPeopleMatchNoDataView.swift
// galaxy
//
// Created by edy on 2024/6/20.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHPeopleMatchNoDataView: UIView {
static let height = 198.0
var relookBlock:(()->())?
lazy var bgImgView:UIImageView = {
let view = UIImageView(image: UIImage(named: "people_match_no_data_bg"))
return view
}()
lazy var titleLabel:UILabel = {
let label = UILabel()
label.textColor = UIColor.white
label.textAlignment = .center
label.font = UIFont.PFSC_M(ofSize:14)
label.text = "本轮智能匹配人脉已到底~"
return label
}()
lazy var relookBtn:UIButton = {
let btn = UIButton()
btn.setTitle("重新查看", for: .normal)
btn.backgroundColor = .clear
btn.setTitleColor(.white, for: .normal)
btn.titleLabel?.font = .PFSC_M(ofSize: 13)
btn.layer.cornerRadius = 3
btn.layer.borderWidth = 1.0
btn.layer.borderColor = UIColor.white.cgColor
btn.addTarget(self, action: #selector(didRelookBtnClicked), for: .touchUpInside)
return btn
}()
@objc func didRelookBtnClicked() {
self.isHidden = true
self.relookBlock?()
}
static func createView() -> YHPeopleMatchNoDataView {
let view = YHPeopleMatchNoDataView(frame: CGRectMake(0, 0, KScreenWidth, Self.height))
return view
}
override init(frame: CGRect) {
super.init(frame: frame)
createUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func createUI() {
self.addSubview(self.bgImgView)
self.addSubview(self.titleLabel)
self.addSubview(self.relookBtn)
self.bgImgView.snp.makeConstraints { make in
make.width.equalTo(177)
make.height.equalTo(88)
make.centerX.equalToSuperview()
make.top.equalToSuperview()
}
self.titleLabel.snp.makeConstraints { make in
make.top.equalTo(self.bgImgView.snp.bottom).offset(30)
make.height.equalTo(20)
make.centerX.equalToSuperview()
}
self.relookBtn.snp.makeConstraints { make in
make.width.equalTo(110)
make.height.equalTo(38)
make.centerX.equalToSuperview()
make.top.equalTo(self.titleLabel.snp.bottom).offset(22)
}
}
}
......@@ -17,6 +17,9 @@ extension UIColor {
//品牌渐变色
static let arrBrandGradaterColors : [UIColor] = [UIColor(hexString: "#0046B4")!,UIColor(hexString: "#0046B4")!]
//品牌主色 30
static let brandMainColor30 : UIColor = UIColor(hexString: "#0046B4",transparency: 0.3)!
//品牌主色 16
static let brandMainColor16 : UIColor = UIColor(hexString: "#0046B4",transparency: 0.16)!
......@@ -26,6 +29,8 @@ extension UIColor {
//品牌主色 6
static let brandMainColor6: UIColor = UIColor(hexString: "#0046B4",transparency: 0.06)!
//标题/主内容
// static let mainTextColor : UIColor = UIColor(hexString: "#222222")!
static let mainTextColor : UIColor = UIColor(hexString: "#121A26")!
......
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Polygon 11@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Polygon 11@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Polygon 10@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Polygon 10@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Group 2033195122@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Group 2033195122@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Group 2033195118@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Group 2033195118@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