From e978b3aa02f00859588949dfdf24778b05fe4adb Mon Sep 17 00:00:00 2001 From: 杨锴 <841720330@qq.com> Date: 星期三, 21 八月 2024 18:58:30 +0800 Subject: [PATCH] fix UI --- XQMuse/Root/Me/VC/BindPhone_2_VC.swift | 38 XQMuse/Assets.xcassets/Placeholder/bg_level.imageset/Contents.json | 22 XQMuse/Root/Other/View/CommonAlertView.xib | 128 ++ XQMuse/Root/Me/VC/HelpCenterVC.swift | 177 +++ XQMuse/Assets.xcassets/Icons/icon_coin.imageset/Contents.json | 22 XQMuse/Root/Me/VC/BindAccountVC.swift | 29 XQMuse/Root/Me/VC/BankWithdrawVC.swift | 77 + XQMuse/Assets.xcassets/Placeholder/bg_wallet.imageset/Contents.json | 22 XQMuse.xcodeproj/project.pbxproj | 112 + XQMuse/Root/Me/TCell/BankInfoTCell.swift | 30 XQMuse/Assets.xcassets/Btns/btn_add.imageset/btn_add@2x.png | 0 XQMuse/Root/Me/VC/StudyListVC.swift | 3 XQMuse/Assets.xcassets/Icons/icon_msg.imageset/icon_msg@3x.png | 0 XQMuse/Root/Me/VC/LogoutAccountVC.xib | 96 + XQMuse/Assets.xcassets/Placeholder/bg_level.imageset/bg_level@2x.png | 0 XQMuse/Root/Me/CCell/EmptyCCell.swift | 4 XQMuse/Root/Me/VC/WalletRechargeVC.swift | 24 XQMuse/SceneDelegate.swift | 100 XQMuse/Root/Me/VC/AddBankInfoVC.swift | 31 XQMuse/Assets.xcassets/Placeholder/bg_help.imageset/bg_help@3x.png | 0 XQMuse/Assets.xcassets/Icons/icon_profileSetting.imageset/icon_profileSetting@3x.png | 0 XQMuse/Root/Home/HomeVC.swift | 3 XQMuse/Root/Me/VC/BindPhone_2_VC.xib | 177 +++ XQMuse/Assets.xcassets/Icons/icon_choose_w.imageset/icon_choose_w@3x.png | 0 XQMuse/Root/Me/VC/LogoutAccountVC.swift | 30 XQMuse/Assets.xcassets/Placeholder/bg_wallet.imageset/bg_wallet@3x.png | 0 XQMuse/Root/Me/VC/BankWithdrawVC.xib | 243 ++++ XQMuse/Assets.xcassets/Icons/icon_like.imageset/icon_like@3x.png | 0 XQMuse/Root/Me/VC/BindPhone_3_VC.swift | 25 XQMuse/Assets.xcassets/Icons/icon_coin.imageset/icon_coin@2x.png | 0 XQMuse/Root/Me/VC/TreatyVC.swift | 98 + XQMuse/Assets.xcassets/Icons/icon_like.imageset/icon_like@2x.png | 0 XQMuse/Assets.xcassets/Btns/btn_add.imageset/Contents.json | 22 XQMuse/Root/Me/VC/WalletVC.xib | 287 +++++ XQMuse/Assets.xcassets/Icons/icon_choose_w.imageset/icon_choose_w@2x.png | 0 XQMuse/Assets.xcassets/Placeholder/bg_help.imageset/Contents.json | 22 XQMuse/Assets.xcassets/Icons/icon_bankCard.imageset/icon_bankCard@3x.png | 0 XQMuse/Root/Me/VC/WalletVC.swift | 29 XQMuse/Assets.xcassets/Icons/icon_profileSetting.imageset/Contents.json | 22 XQMuse/Assets.xcassets/Icons/icon_choose_w.imageset/Contents.json | 22 XQMuse/Assets.xcassets/Icons/icon_msg.imageset/Contents.json | 22 XQMuse/Config/Def.swift | 2 XQMuse/Assets.xcassets/Icons/icon_msg.imageset/icon_msg@2x.png | 0 XQMuse/Root/Me/VC/SettingVC.swift | 33 XQMuse/Assets.xcassets/Icons/icon_bankCard.imageset/Contents.json | 22 XQMuse/Assets.xcassets/Icons/icon_bankCard.imageset/icon_bankCard@2x.png | 0 XQMuse/Assets.xcassets/Icons/icon_profileSetting.imageset/icon_profileSetting@2x.png | 0 XQMuse/Assets.xcassets/Btns/btn_add.imageset/btn_add@3x.png | 0 XQMuse/Root/Me/VC/SettingVC.xib | 31 XQMuse/Assets.xcassets/Icons/icon_like.imageset/Contents.json | 22 XQMuse/Root/Me/VC/AddBankInfoVC.xib | 298 +++++ XQMuse/Root/Me/MeVC.xib | 10 XQMuse/Root/Me/VC/WalletRechargeVC.xib | 97 + XQMuse/Root/Me/VC/HelpCenterVC.xib | 88 + XQMuse/Root/Me/VC/LevelVC.swift | 21 XQMuse/Assets.xcassets/Placeholder/bg_help.imageset/bg_help@2x.png | 0 XQMuse/Root/Me/VC/BindPhone_1_VC.swift | 30 XQMuse/Assets.xcassets/Icons/icon_coin.imageset/icon_coin@3x.png | 0 XQMuse/Assets.xcassets/Placeholder/bg_wallet.imageset/bg_wallet@2x.png | 0 XQMuse/Root/Me/VC/BindAccountVC.xib | 174 +++ XQMuse/Root/Other/View/IdCardView.swift | 128 ++ XQMuse/Root/Me/VC/BindPhone_3_VC.xib | 81 + XQMuse/Root/Me/VC/LevelVC.xib | 128 ++ XQMuse/Assets.xcassets/Placeholder/bg_level.imageset/bg_level@3x.png | 0 XQMuse/Root/Me/MeVC.swift | 18 XQMuse/Root/Me/TCell/BankInfoTCell.xib | 89 + XQMuse/Root/Me/CCell/EmptyCCell.xib | 3 XQMuse/Root/Me/VC/BindPhone_1_VC.xib | 78 + XQMuse/Root/Other/View/CommonAlertView.swift | 101 + 69 files changed, 3,310 insertions(+), 61 deletions(-) diff --git a/XQMuse.xcodeproj/project.pbxproj b/XQMuse.xcodeproj/project.pbxproj index 13cd9ae..6af2c23 100644 --- a/XQMuse.xcodeproj/project.pbxproj +++ b/XQMuse.xcodeproj/project.pbxproj @@ -27,6 +27,8 @@ 131111822C749085002877FC /* StudyListVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 131111802C749084002877FC /* StudyListVC.xib */; }; 131E75C42C6B87C500E2C85D /* ForgotPasswordChangeVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 131E75C32C6B87C400E2C85D /* ForgotPasswordChangeVC.xib */; }; 131E75C52C6B87C500E2C85D /* ForgotPasswordChangeVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 131E75C22C6B87C400E2C85D /* ForgotPasswordChangeVC.swift */; }; + 13271D852C75EF8200DE1328 /* AddBankInfoVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13271D842C75EF8200DE1328 /* AddBankInfoVC.xib */; }; + 13271D862C75EF8200DE1328 /* AddBankInfoVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13271D832C75EF8200DE1328 /* AddBankInfoVC.swift */; }; 132DB8FE2C74826D00EF33A7 /* SettingVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 132DB8FC2C74826D00EF33A7 /* SettingVC.swift */; }; 132DB8FF2C74826D00EF33A7 /* SettingVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 132DB8FD2C74826D00EF33A7 /* SettingVC.xib */; }; 132EB01C2C6B32B200990429 /* RegisterVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 132EB01A2C6B32B200990429 /* RegisterVC.swift */; }; @@ -81,6 +83,13 @@ 1385E0072C6C558200AADB1F /* HomeRelaxBanner_2_CCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1385E0052C6C558200AADB1F /* HomeRelaxBanner_2_CCell.xib */; }; 1385E00A2C6C57A900AADB1F /* HomeItemDetailVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1385E0082C6C57A900AADB1F /* HomeItemDetailVC.swift */; }; 1385E00B2C6C57A900AADB1F /* HomeItemDetailVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1385E0092C6C57A900AADB1F /* HomeItemDetailVC.xib */; }; + 138F0C322C7594BB0072A16C /* TreatyVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 138F0C312C7594BB0072A16C /* TreatyVC.swift */; }; + 138F0C352C7597CA0072A16C /* HelpCenterVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 138F0C332C7597CA0072A16C /* HelpCenterVC.swift */; }; + 138F0C362C7597CA0072A16C /* HelpCenterVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 138F0C342C7597CA0072A16C /* HelpCenterVC.xib */; }; + 138FE0DE2C757B2A00A964E8 /* BindPhone_1_VC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 138FE0DC2C757B2A00A964E8 /* BindPhone_1_VC.swift */; }; + 138FE0DF2C757B2A00A964E8 /* BindPhone_1_VC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 138FE0DD2C757B2A00A964E8 /* BindPhone_1_VC.xib */; }; + 138FE0E22C757DE900A964E8 /* BindPhone_2_VC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 138FE0E02C757DE900A964E8 /* BindPhone_2_VC.swift */; }; + 138FE0E32C757DE900A964E8 /* BindPhone_2_VC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 138FE0E12C757DE900A964E8 /* BindPhone_2_VC.xib */; }; 139228AF2C6B836B006F3CB6 /* Popup_1_View.swift in Sources */ = {isa = PBXBuildFile; fileRef = 139228AE2C6B836B006F3CB6 /* Popup_1_View.swift */; }; 139228B12C6B8374006F3CB6 /* Popup_1_View.xib in Resources */ = {isa = PBXBuildFile; fileRef = 139228B02C6B8374006F3CB6 /* Popup_1_View.xib */; }; 139466472C6B8E0200F6FB15 /* UpdatePhoneVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 139466452C6B8E0200F6FB15 /* UpdatePhoneVC.swift */; }; @@ -121,12 +130,18 @@ 13A0A8AA2C74740800DF08B6 /* NoticeCenterVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13A0A8A72C74740800DF08B6 /* NoticeCenterVC.swift */; }; 13A0A8AE2C74757200DF08B6 /* MessageTCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13A0A8AD2C74757200DF08B6 /* MessageTCell.xib */; }; 13A0A8AF2C74757200DF08B6 /* MessageTCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13A0A8AC2C74757200DF08B6 /* MessageTCell.swift */; }; + 13A379FC2C75B7280038D5C8 /* BindAccountVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13A379FB2C75B7280038D5C8 /* BindAccountVC.xib */; }; + 13A379FD2C75B7280038D5C8 /* BindAccountVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13A379FA2C75B7280038D5C8 /* BindAccountVC.swift */; }; + 13A37A002C75C1DE0038D5C8 /* LevelVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13A379FE2C75C1DE0038D5C8 /* LevelVC.swift */; }; + 13A37A012C75C1DE0038D5C8 /* LevelVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13A379FF2C75C1DE0038D5C8 /* LevelVC.xib */; }; 13A659462C6F4B9E00F731FA /* CourseDetail_1_TCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13A659452C6F4B9E00F731FA /* CourseDetail_1_TCell.xib */; }; 13A659472C6F4B9E00F731FA /* CourseDetail_1_TCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13A659442C6F4B9E00F731FA /* CourseDetail_1_TCell.swift */; }; 13A6594A2C6F4F2D00F731FA /* CourseDetail_2_TCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13A659492C6F4F2D00F731FA /* CourseDetail_2_TCell.xib */; }; 13A6594B2C6F4F2D00F731FA /* CourseDetail_2_TCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13A659482C6F4F2D00F731FA /* CourseDetail_2_TCell.swift */; }; 13A6594E2C6F641100F731FA /* CourseDetail_2_Inner_TCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13A6594D2C6F641100F731FA /* CourseDetail_2_Inner_TCell.xib */; }; 13A6594F2C6F641100F731FA /* CourseDetail_2_Inner_TCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13A6594C2C6F641100F731FA /* CourseDetail_2_Inner_TCell.swift */; }; + 13B021DB2C75DD0600414769 /* BankWithdrawVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13B021DA2C75DD0600414769 /* BankWithdrawVC.xib */; }; + 13B021DC2C75DD0600414769 /* BankWithdrawVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13B021D92C75DD0600414769 /* BankWithdrawVC.swift */; }; 13CBC5D92C73532B00BC66C7 /* MeVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13CBC5D82C73532B00BC66C7 /* MeVC.xib */; }; 13CBCCDF2C74793D00C67701 /* NoticeCenterSysDetailVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13CBCCDD2C74793D00C67701 /* NoticeCenterSysDetailVC.swift */; }; 13CBCCE02C74793D00C67701 /* NoticeCenterSysDetailVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13CBCCDE2C74793D00C67701 /* NoticeCenterSysDetailVC.xib */; }; @@ -138,11 +153,20 @@ 13E0FBFB2C6C8BE3009997AE /* CountdownChooseListView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13E0FBFA2C6C8BE3009997AE /* CountdownChooseListView.xib */; }; 13E160202C6CB8930027F781 /* CommentListVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13E1601F2C6CB8930027F781 /* CommentListVC.xib */; }; 13E160212C6CB8930027F781 /* CommentListVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13E1601E2C6CB8930027F781 /* CommentListVC.swift */; }; + 13EA70012C75F880005DF280 /* IdCardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13EA70002C75F880005DF280 /* IdCardView.swift */; }; + 13EA70042C75FA16005DF280 /* WalletRechargeVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13EA70022C75FA16005DF280 /* WalletRechargeVC.swift */; }; + 13EA70052C75FA16005DF280 /* WalletRechargeVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13EA70032C75FA16005DF280 /* WalletRechargeVC.xib */; }; 13EC08902C74990B00E00128 /* EmptyCCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13EC088F2C74990B00E00128 /* EmptyCCell.xib */; }; 13EC08912C74990B00E00128 /* EmptyCCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13EC088E2C74990B00E00128 /* EmptyCCell.swift */; }; 13EFCDBE2C6DCF5800B51AE6 /* HomeTyroGuideVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13EFCDBD2C6DCF5800B51AE6 /* HomeTyroGuideVC.swift */; }; 13EFCDC12C6DD27A00B51AE6 /* PaymentOrderVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13EFCDBF2C6DD27A00B51AE6 /* PaymentOrderVC.swift */; }; 13EFCDC22C6DD27A00B51AE6 /* PaymentOrderVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13EFCDC02C6DD27A00B51AE6 /* PaymentOrderVC.xib */; }; + 13F24E3D2C75866100D2BA90 /* BindPhone_3_VC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13F24E3C2C75866100D2BA90 /* BindPhone_3_VC.xib */; }; + 13F24E3E2C75866100D2BA90 /* BindPhone_3_VC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13F24E3B2C75866100D2BA90 /* BindPhone_3_VC.swift */; }; + 13F24E412C758DF100D2BA90 /* LogoutAccountVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13F24E402C758DF100D2BA90 /* LogoutAccountVC.xib */; }; + 13F24E422C758DF100D2BA90 /* LogoutAccountVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13F24E3F2C758DF100D2BA90 /* LogoutAccountVC.swift */; }; + 13F24E452C75901600D2BA90 /* CommonAlertView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13F24E432C75901500D2BA90 /* CommonAlertView.swift */; }; + 13F24E462C75901600D2BA90 /* CommonAlertView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13F24E442C75901600D2BA90 /* CommonAlertView.xib */; }; 13FB6D7D2C6EE27100A0685D /* CourseOfficialItemCCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13FB6D7C2C6EE27100A0685D /* CourseOfficialItemCCell.xib */; }; 13FB6D7E2C6EE27100A0685D /* CourseOfficialItemCCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13FB6D7B2C6EE27100A0685D /* CourseOfficialItemCCell.swift */; }; 13FB6D802C6EED6000A0685D /* CourseMenuVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13FB6D7F2C6EED6000A0685D /* CourseMenuVC.swift */; }; @@ -151,6 +175,10 @@ 13FB6D872C6EF9DE00A0685D /* CourseDetialVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13FB6D862C6EF9DE00A0685D /* CourseDetialVC.swift */; }; 13FB6D8A2C6EFB4D00A0685D /* CourseDetailHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13FB6D892C6EFB4D00A0685D /* CourseDetailHeaderView.swift */; }; 13FB6D8C2C6EFB5400A0685D /* CourseDetailHeaderView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13FB6D8B2C6EFB5400A0685D /* CourseDetailHeaderView.xib */; }; + 13FCCE262C75E8C400AC7E02 /* BankInfoTCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13FCCE242C75E8C400AC7E02 /* BankInfoTCell.swift */; }; + 13FCCE272C75E8C400AC7E02 /* BankInfoTCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13FCCE252C75E8C400AC7E02 /* BankInfoTCell.xib */; }; + 13FF0B452C75C820008E26CF /* WalletVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13FF0B432C75C820008E26CF /* WalletVC.swift */; }; + 13FF0B462C75C820008E26CF /* WalletVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13FF0B442C75C820008E26CF /* WalletVC.xib */; }; D80DD987C5D5D23DD582763D /* Pods_XQMuse.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 627C13604519744922724D64 /* Pods_XQMuse.framework */; }; /* End PBXBuildFile section */ @@ -175,6 +203,8 @@ 131111802C749084002877FC /* StudyListVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = StudyListVC.xib; sourceTree = "<group>"; }; 131E75C22C6B87C400E2C85D /* ForgotPasswordChangeVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ForgotPasswordChangeVC.swift; sourceTree = "<group>"; }; 131E75C32C6B87C400E2C85D /* ForgotPasswordChangeVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ForgotPasswordChangeVC.xib; sourceTree = "<group>"; }; + 13271D832C75EF8200DE1328 /* AddBankInfoVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddBankInfoVC.swift; sourceTree = "<group>"; }; + 13271D842C75EF8200DE1328 /* AddBankInfoVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AddBankInfoVC.xib; sourceTree = "<group>"; }; 132DB8FC2C74826D00EF33A7 /* SettingVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingVC.swift; sourceTree = "<group>"; }; 132DB8FD2C74826D00EF33A7 /* SettingVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = SettingVC.xib; sourceTree = "<group>"; }; 132EB01A2C6B32B200990429 /* RegisterVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RegisterVC.swift; sourceTree = "<group>"; }; @@ -229,6 +259,13 @@ 1385E0052C6C558200AADB1F /* HomeRelaxBanner_2_CCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = HomeRelaxBanner_2_CCell.xib; sourceTree = "<group>"; }; 1385E0082C6C57A900AADB1F /* HomeItemDetailVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeItemDetailVC.swift; sourceTree = "<group>"; }; 1385E0092C6C57A900AADB1F /* HomeItemDetailVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = HomeItemDetailVC.xib; sourceTree = "<group>"; }; + 138F0C312C7594BB0072A16C /* TreatyVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TreatyVC.swift; sourceTree = "<group>"; }; + 138F0C332C7597CA0072A16C /* HelpCenterVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HelpCenterVC.swift; sourceTree = "<group>"; }; + 138F0C342C7597CA0072A16C /* HelpCenterVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = HelpCenterVC.xib; sourceTree = "<group>"; }; + 138FE0DC2C757B2A00A964E8 /* BindPhone_1_VC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BindPhone_1_VC.swift; sourceTree = "<group>"; }; + 138FE0DD2C757B2A00A964E8 /* BindPhone_1_VC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = BindPhone_1_VC.xib; sourceTree = "<group>"; }; + 138FE0E02C757DE900A964E8 /* BindPhone_2_VC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BindPhone_2_VC.swift; sourceTree = "<group>"; }; + 138FE0E12C757DE900A964E8 /* BindPhone_2_VC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = BindPhone_2_VC.xib; sourceTree = "<group>"; }; 139228AE2C6B836B006F3CB6 /* Popup_1_View.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Popup_1_View.swift; sourceTree = "<group>"; }; 139228B02C6B8374006F3CB6 /* Popup_1_View.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = Popup_1_View.xib; sourceTree = "<group>"; }; 139466452C6B8E0200F6FB15 /* UpdatePhoneVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UpdatePhoneVC.swift; sourceTree = "<group>"; }; @@ -271,12 +308,18 @@ 13A0A8A72C74740800DF08B6 /* NoticeCenterVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NoticeCenterVC.swift; sourceTree = "<group>"; }; 13A0A8AC2C74757200DF08B6 /* MessageTCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageTCell.swift; sourceTree = "<group>"; }; 13A0A8AD2C74757200DF08B6 /* MessageTCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MessageTCell.xib; sourceTree = "<group>"; }; + 13A379FA2C75B7280038D5C8 /* BindAccountVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BindAccountVC.swift; sourceTree = "<group>"; }; + 13A379FB2C75B7280038D5C8 /* BindAccountVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = BindAccountVC.xib; sourceTree = "<group>"; }; + 13A379FE2C75C1DE0038D5C8 /* LevelVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LevelVC.swift; sourceTree = "<group>"; }; + 13A379FF2C75C1DE0038D5C8 /* LevelVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = LevelVC.xib; sourceTree = "<group>"; }; 13A659442C6F4B9E00F731FA /* CourseDetail_1_TCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseDetail_1_TCell.swift; sourceTree = "<group>"; }; 13A659452C6F4B9E00F731FA /* CourseDetail_1_TCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = CourseDetail_1_TCell.xib; sourceTree = "<group>"; }; 13A659482C6F4F2D00F731FA /* CourseDetail_2_TCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseDetail_2_TCell.swift; sourceTree = "<group>"; }; 13A659492C6F4F2D00F731FA /* CourseDetail_2_TCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = CourseDetail_2_TCell.xib; sourceTree = "<group>"; }; 13A6594C2C6F641100F731FA /* CourseDetail_2_Inner_TCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseDetail_2_Inner_TCell.swift; sourceTree = "<group>"; }; 13A6594D2C6F641100F731FA /* CourseDetail_2_Inner_TCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = CourseDetail_2_Inner_TCell.xib; sourceTree = "<group>"; }; + 13B021D92C75DD0600414769 /* BankWithdrawVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BankWithdrawVC.swift; sourceTree = "<group>"; }; + 13B021DA2C75DD0600414769 /* BankWithdrawVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = BankWithdrawVC.xib; sourceTree = "<group>"; }; 13CBC5D82C73532B00BC66C7 /* MeVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MeVC.xib; sourceTree = "<group>"; }; 13CBCCDD2C74793D00C67701 /* NoticeCenterSysDetailVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NoticeCenterSysDetailVC.swift; sourceTree = "<group>"; }; 13CBCCDE2C74793D00C67701 /* NoticeCenterSysDetailVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = NoticeCenterSysDetailVC.xib; sourceTree = "<group>"; }; @@ -288,11 +331,20 @@ 13E0FBFA2C6C8BE3009997AE /* CountdownChooseListView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = CountdownChooseListView.xib; sourceTree = "<group>"; }; 13E1601E2C6CB8930027F781 /* CommentListVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommentListVC.swift; sourceTree = "<group>"; }; 13E1601F2C6CB8930027F781 /* CommentListVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = CommentListVC.xib; sourceTree = "<group>"; }; + 13EA70002C75F880005DF280 /* IdCardView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdCardView.swift; sourceTree = "<group>"; }; + 13EA70022C75FA16005DF280 /* WalletRechargeVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WalletRechargeVC.swift; sourceTree = "<group>"; }; + 13EA70032C75FA16005DF280 /* WalletRechargeVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = WalletRechargeVC.xib; sourceTree = "<group>"; }; 13EC088E2C74990B00E00128 /* EmptyCCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmptyCCell.swift; sourceTree = "<group>"; }; 13EC088F2C74990B00E00128 /* EmptyCCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = EmptyCCell.xib; sourceTree = "<group>"; }; 13EFCDBD2C6DCF5800B51AE6 /* HomeTyroGuideVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeTyroGuideVC.swift; sourceTree = "<group>"; }; 13EFCDBF2C6DD27A00B51AE6 /* PaymentOrderVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentOrderVC.swift; sourceTree = "<group>"; }; 13EFCDC02C6DD27A00B51AE6 /* PaymentOrderVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = PaymentOrderVC.xib; sourceTree = "<group>"; }; + 13F24E3B2C75866100D2BA90 /* BindPhone_3_VC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BindPhone_3_VC.swift; sourceTree = "<group>"; }; + 13F24E3C2C75866100D2BA90 /* BindPhone_3_VC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = BindPhone_3_VC.xib; sourceTree = "<group>"; }; + 13F24E3F2C758DF100D2BA90 /* LogoutAccountVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LogoutAccountVC.swift; sourceTree = "<group>"; }; + 13F24E402C758DF100D2BA90 /* LogoutAccountVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = LogoutAccountVC.xib; sourceTree = "<group>"; }; + 13F24E432C75901500D2BA90 /* CommonAlertView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CommonAlertView.swift; sourceTree = "<group>"; }; + 13F24E442C75901600D2BA90 /* CommonAlertView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = CommonAlertView.xib; sourceTree = "<group>"; }; 13FB6D7B2C6EE27100A0685D /* CourseOfficialItemCCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseOfficialItemCCell.swift; sourceTree = "<group>"; }; 13FB6D7C2C6EE27100A0685D /* CourseOfficialItemCCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = CourseOfficialItemCCell.xib; sourceTree = "<group>"; }; 13FB6D7F2C6EED6000A0685D /* CourseMenuVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseMenuVC.swift; sourceTree = "<group>"; }; @@ -301,6 +353,10 @@ 13FB6D862C6EF9DE00A0685D /* CourseDetialVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseDetialVC.swift; sourceTree = "<group>"; }; 13FB6D892C6EFB4D00A0685D /* CourseDetailHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseDetailHeaderView.swift; sourceTree = "<group>"; }; 13FB6D8B2C6EFB5400A0685D /* CourseDetailHeaderView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = CourseDetailHeaderView.xib; sourceTree = "<group>"; }; + 13FCCE242C75E8C400AC7E02 /* BankInfoTCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BankInfoTCell.swift; sourceTree = "<group>"; }; + 13FCCE252C75E8C400AC7E02 /* BankInfoTCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = BankInfoTCell.xib; sourceTree = "<group>"; }; + 13FF0B432C75C820008E26CF /* WalletVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WalletVC.swift; sourceTree = "<group>"; }; + 13FF0B442C75C820008E26CF /* WalletVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = WalletVC.xib; sourceTree = "<group>"; }; 257B6AA3157A71622E7EABC6 /* Pods-XQMuse.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-XQMuse.debug.xcconfig"; path = "Target Support Files/Pods-XQMuse/Pods-XQMuse.debug.xcconfig"; sourceTree = "<group>"; }; 627C13604519744922724D64 /* Pods_XQMuse.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_XQMuse.framework; sourceTree = BUILT_PRODUCTS_DIR; }; B934C5A58089E8AEA47DCFE7 /* Pods-XQMuse.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-XQMuse.release.xcconfig"; path = "Target Support Files/Pods-XQMuse/Pods-XQMuse.release.xcconfig"; sourceTree = "<group>"; }; @@ -334,6 +390,29 @@ 132DB8FD2C74826D00EF33A7 /* SettingVC.xib */, 1311117F2C749084002877FC /* StudyListVC.swift */, 131111802C749084002877FC /* StudyListVC.xib */, + 138FE0DC2C757B2A00A964E8 /* BindPhone_1_VC.swift */, + 138FE0DD2C757B2A00A964E8 /* BindPhone_1_VC.xib */, + 138FE0E02C757DE900A964E8 /* BindPhone_2_VC.swift */, + 138FE0E12C757DE900A964E8 /* BindPhone_2_VC.xib */, + 13F24E3B2C75866100D2BA90 /* BindPhone_3_VC.swift */, + 13F24E3C2C75866100D2BA90 /* BindPhone_3_VC.xib */, + 13F24E3F2C758DF100D2BA90 /* LogoutAccountVC.swift */, + 13F24E402C758DF100D2BA90 /* LogoutAccountVC.xib */, + 138F0C312C7594BB0072A16C /* TreatyVC.swift */, + 138F0C332C7597CA0072A16C /* HelpCenterVC.swift */, + 138F0C342C7597CA0072A16C /* HelpCenterVC.xib */, + 13A379FA2C75B7280038D5C8 /* BindAccountVC.swift */, + 13A379FB2C75B7280038D5C8 /* BindAccountVC.xib */, + 13A379FE2C75C1DE0038D5C8 /* LevelVC.swift */, + 13A379FF2C75C1DE0038D5C8 /* LevelVC.xib */, + 13FF0B432C75C820008E26CF /* WalletVC.swift */, + 13FF0B442C75C820008E26CF /* WalletVC.xib */, + 13B021D92C75DD0600414769 /* BankWithdrawVC.swift */, + 13B021DA2C75DD0600414769 /* BankWithdrawVC.xib */, + 13271D832C75EF8200DE1328 /* AddBankInfoVC.swift */, + 13271D842C75EF8200DE1328 /* AddBankInfoVC.xib */, + 13EA70022C75FA16005DF280 /* WalletRechargeVC.swift */, + 13EA70032C75FA16005DF280 /* WalletRechargeVC.xib */, ); path = VC; sourceTree = "<group>"; @@ -659,6 +738,8 @@ children = ( 13A0A8AC2C74757200DF08B6 /* MessageTCell.swift */, 13A0A8AD2C74757200DF08B6 /* MessageTCell.xib */, + 13FCCE242C75E8C400AC7E02 /* BankInfoTCell.swift */, + 13FCCE252C75E8C400AC7E02 /* BankInfoTCell.xib */, ); path = TCell; sourceTree = "<group>"; @@ -666,6 +747,8 @@ 13D256B52C6C68EB006FC2D7 /* View */ = { isa = PBXGroup; children = ( + 13F24E432C75901500D2BA90 /* CommonAlertView.swift */, + 13F24E442C75901600D2BA90 /* CommonAlertView.xib */, 13A0A8A42C746B5600DF08B6 /* CommonDatePickerView.swift */, 13A0A8A32C746B5600DF08B6 /* CommonDatePickerView.xib */, 13A0A89C2C746A8600DF08B6 /* CommonAlertSheetView.swift */, @@ -679,6 +762,7 @@ 1377B4102C6DAA1900CF7CA5 /* ChooseOptView.swift */, 1377B4122C6DAA2000CF7CA5 /* ChooseOptView.xib */, 13334FD42C731C1B00914086 /* VideoView.swift */, + 13EA70002C75F880005DF280 /* IdCardView.swift */, ); path = View; sourceTree = "<group>"; @@ -800,7 +884,9 @@ 13985DD42C69FC1F0046B6DC /* Home_Style_1_TCell.xib in Resources */, 1377B4132C6DAA2000CF7CA5 /* ChooseOptView.xib in Resources */, 13A6594E2C6F641100F731FA /* CourseDetail_2_Inner_TCell.xib in Resources */, + 13FF0B462C75C820008E26CF /* WalletVC.xib in Resources */, 130B765E2C6C4C33006371AF /* HomeItemListVC.xib in Resources */, + 13F24E3D2C75866100D2BA90 /* BindPhone_3_VC.xib in Resources */, 13CBC5D92C73532B00BC66C7 /* MeVC.xib in Resources */, 1385E0072C6C558200AADB1F /* HomeRelaxBanner_2_CCell.xib in Resources */, 131111822C749085002877FC /* StudyListVC.xib in Resources */, @@ -811,7 +897,10 @@ 1333DC7E2C72E7A500D8ACAE /* CourseSendGiftView.xib in Resources */, 137ABE352C6B3F64003A91C5 /* ForgotPasswordVC.xib in Resources */, 13A0A8A52C746B5600DF08B6 /* CommonDatePickerView.xib in Resources */, + 13A37A012C75C1DE0038D5C8 /* LevelVC.xib in Resources */, + 138FE0DF2C757B2A00A964E8 /* BindPhone_1_VC.xib in Resources */, 13FB6D842C6EEFE900A0685D /* MenuListTCell.xib in Resources */, + 138F0C362C7597CA0072A16C /* HelpCenterVC.xib in Resources */, 1377768E2C6AFD25004FF994 /* LoginVC.xib in Resources */, 134CC7E02C73283700EAEFB7 /* PavilionSearchVC.xib in Resources */, 130913EE2C6DE67E00418201 /* HomeRelaxBanner_2_1_CCell.xib in Resources */, @@ -822,7 +911,10 @@ 1377B4172C6DCC4300CF7CA5 /* Home_Style_4_Inner_1_CCell.xib in Resources */, 13FB6D8C2C6EFB5400A0685D /* CourseDetailHeaderView.xib in Resources */, 13985D9F2C69B2440046B6DC /* Assets.xcassets in Resources */, + 13FCCE272C75E8C400AC7E02 /* BankInfoTCell.xib in Resources */, 13EFCDC22C6DD27A00B51AE6 /* PaymentOrderVC.xib in Resources */, + 13A379FC2C75B7280038D5C8 /* BindAccountVC.xib in Resources */, + 13F24E412C758DF100D2BA90 /* LogoutAccountVC.xib in Resources */, 130AA4A82C72F71700F20944 /* CourseDetialVideoVC.xib in Resources */, 13FB6D7D2C6EE27100A0685D /* CourseOfficialItemCCell.xib in Resources */, 13D256B72C6C68F8006FC2D7 /* ShareView.xib in Resources */, @@ -833,17 +925,21 @@ 13CBCCE42C747C3D00C67701 /* NoticeCenterUserRepeaceDetailVC.xib in Resources */, 13985DA22C69B2440046B6DC /* Base in Resources */, 134783D12C6C86F40096C736 /* PlaySettingView.xib in Resources */, + 138FE0E32C757DE900A964E8 /* BindPhone_2_VC.xib in Resources */, 139C165A2C6A053000A924D9 /* Home_Style_2_TCell.xib in Resources */, 1300BD3B2C6DFB1C000BCA5E /* VIPCenterVC.xib in Resources */, 139466482C6B8E0200F6FB15 /* UpdatePhoneVC.xib in Resources */, 134A453A2C6E167D00538D78 /* CourseOfficalCommendTopCCell.xib in Resources */, + 13271D852C75EF8200DE1328 /* AddBankInfoVC.xib in Resources */, 1377B40D2C6D936A00CF7CA5 /* CommentUserInputContentTCell.xib in Resources */, 137175CC2C6C412A00B38EF1 /* BackgroundVoiceVC.xib in Resources */, 137776932C6AFE69004FF994 /* SearchVC.xib in Resources */, 132DB8FF2C74826D00EF33A7 /* SettingVC.xib in Resources */, 13985DBF2C69DDF90046B6DC /* HomeTopMenuView.xib in Resources */, 1385E00B2C6C57A900AADB1F /* HomeItemDetailVC.xib in Resources */, + 13B021DB2C75DD0600414769 /* BankWithdrawVC.xib in Resources */, 137ABE3C2C6B6BDD003A91C5 /* ForgotPasswordInputCodeVC.xib in Resources */, + 13EA70052C75FA16005DF280 /* WalletRechargeVC.xib in Resources */, 13A0A8AE2C74757200DF08B6 /* MessageTCell.xib in Resources */, 130913EA2C6DE33200418201 /* PaymentOrderResultVC.xib in Resources */, 130ED7ED2C6AF05C00D0736E /* Home_Style_4_Inner_CCell.xib in Resources */, @@ -855,6 +951,7 @@ 139C16642C6A108A00A924D9 /* HomeRelaxBannerCCell.xib in Resources */, 13E0FBFB2C6C8BE3009997AE /* CountdownChooseListView.xib in Resources */, 13A0A89F2C746A8700DF08B6 /* CommonAlertSheetView.xib in Resources */, + 13F24E462C75901600D2BA90 /* CommonAlertView.xib in Resources */, 130B765A2C6C4963006371AF /* HomeRelaxVoiceCCell.xib in Resources */, 13E160202C6CB8930027F781 /* CommentListVC.xib in Resources */, 139228B12C6B8374006F3CB6 /* Popup_1_View.xib in Resources */, @@ -912,23 +1009,29 @@ files = ( 13FB6D872C6EF9DE00A0685D /* CourseDetialVC.swift in Sources */, 132DB8FE2C74826D00EF33A7 /* SettingVC.swift in Sources */, + 138F0C352C7597CA0072A16C /* HelpCenterVC.swift in Sources */, 13D256B42C6C68E7006FC2D7 /* ShareView.swift in Sources */, 139466472C6B8E0200F6FB15 /* UpdatePhoneVC.swift in Sources */, + 13A37A002C75C1DE0038D5C8 /* LevelVC.swift in Sources */, 137175CB2C6C412A00B38EF1 /* BackgroundVoiceVC.swift in Sources */, 137776922C6AFE69004FF994 /* SearchVC.swift in Sources */, + 13B021DC2C75DD0600414769 /* BankWithdrawVC.swift in Sources */, 13985D962C69B2410046B6DC /* AppDelegate.swift in Sources */, 13985DB02C69B7B00046B6DC /* BaseTabBarVC.swift in Sources */, 131111812C749085002877FC /* StudyListVC.swift in Sources */, 13985DB22C69B7B00046B6DC /* TapBtn.swift in Sources */, 13FB6D802C6EED6000A0685D /* CourseMenuVC.swift in Sources */, 13985DBA2C69B8ED0046B6DC /* HomeVC.swift in Sources */, + 13FCCE262C75E8C400AC7E02 /* BankInfoTCell.swift in Sources */, 13985DAF2C69B7B00046B6DC /* BaseNav.swift in Sources */, 134A45352C6E0E0000538D78 /* CourseVCTeacherSpecialVC.swift in Sources */, 134A45392C6E167D00538D78 /* CourseOfficalCommendTopCCell.swift in Sources */, + 138FE0E22C757DE900A964E8 /* BindPhone_2_VC.swift in Sources */, 13985D982C69B2410046B6DC /* SceneDelegate.swift in Sources */, 13985DBD2C69DDF30046B6DC /* HomeTopMenuView.swift in Sources */, 1377B4112C6DAA1900CF7CA5 /* ChooseOptView.swift in Sources */, 13CBCCDF2C74793D00C67701 /* NoticeCenterSysDetailVC.swift in Sources */, + 13F24E452C75901600D2BA90 /* CommonAlertView.swift in Sources */, 1385E0062C6C558200AADB1F /* HomeRelaxBanner_2_CCell.swift in Sources */, 130913EB2C6DE33200418201 /* PaymentOrderResultVC.swift in Sources */, 13A0A8AF2C74757200DF08B6 /* MessageTCell.swift in Sources */, @@ -938,6 +1041,7 @@ 134A45322C6E0D6400538D78 /* CourseVCOfficalCommentVC.swift in Sources */, 139C16602C6A0FBB00A924D9 /* TestLeftRightCollectionViewFlowLayout.swift in Sources */, 13985DC72C69E9550046B6DC /* CourseVC.swift in Sources */, + 13A379FD2C75B7280038D5C8 /* BindAccountVC.swift in Sources */, 1385E0022C6C4F1200AADB1F /* Services.swift in Sources */, 13FB6D8A2C6EFB4D00A0685D /* CourseDetailHeaderView.swift in Sources */, 13985DB82C69B80D0046B6DC /* Themes.swift in Sources */, @@ -948,16 +1052,19 @@ 139228AF2C6B836B006F3CB6 /* Popup_1_View.swift in Sources */, 1336EFA72C6DEC640075E070 /* PaymentOrderResultTopView.swift in Sources */, 13CBCCE32C747C3D00C67701 /* NoticeCenterUserRepeaceDetailVC.swift in Sources */, + 138FE0DE2C757B2A00A964E8 /* BindPhone_1_VC.swift in Sources */, 13A0A8A62C746B5600DF08B6 /* CommonDatePickerView.swift in Sources */, 13EFCDC12C6DD27A00B51AE6 /* PaymentOrderVC.swift in Sources */, 13985DCE2C69EA160046B6DC /* MeVC.swift in Sources */, 13A0A8AA2C74740800DF08B6 /* NoticeCenterVC.swift in Sources */, 13985DCC2C69E9FA0046B6DC /* PavilionVC.swift in Sources */, + 138F0C322C7594BB0072A16C /* TreatyVC.swift in Sources */, 13985DC42C69E0BF0046B6DC /* HomeTopMenuCCell.swift in Sources */, 1385E00A2C6C57A900AADB1F /* HomeItemDetailVC.swift in Sources */, 1333DC7C2C72E78F00D8ACAE /* CourseSendGiftView.swift in Sources */, 13391E032C73334000B9513F /* PavilionDetailVC.swift in Sources */, 134783CF2C6C86EC0096C736 /* PlaySettingView.swift in Sources */, + 13F24E3E2C75866100D2BA90 /* BindPhone_3_VC.swift in Sources */, 139C16592C6A053000A924D9 /* Home_Style_2_TCell.swift in Sources */, 130B76592C6C4963006371AF /* HomeRelaxVoiceCCell.swift in Sources */, 137ABE382C6B6641003A91C5 /* WebVC.swift in Sources */, @@ -972,20 +1079,25 @@ 13A0A8A22C746AE600DF08B6 /* Enums.swift in Sources */, 1377B40F2C6D93FA00CF7CA5 /* CommentCommentHeaderView.swift in Sources */, 1377B40C2C6D936A00CF7CA5 /* CommentUserInputContentTCell.swift in Sources */, + 13EA70042C75FA16005DF280 /* WalletRechargeVC.swift in Sources */, 1385DFFA2C6C4EBC00AADB1F /* RefreshModel.swift in Sources */, 134CC7E12C73283700EAEFB7 /* PavilionSearchVC.swift in Sources */, + 13EA70012C75F880005DF280 /* IdCardView.swift in Sources */, 139C16632C6A108A00A924D9 /* HomeRelaxBannerCCell.swift in Sources */, 131E75C52C6B87C500E2C85D /* ForgotPasswordChangeVC.swift in Sources */, 13A6594F2C6F641100F731FA /* CourseDetail_2_Inner_TCell.swift in Sources */, 13334FD52C731C1B00914086 /* VideoView.swift in Sources */, + 13FF0B452C75C820008E26CF /* WalletVC.swift in Sources */, 130ED7E72C6AEF5900D0736E /* Home_Style_4_TCell.swift in Sources */, 13EC08912C74990B00E00128 /* EmptyCCell.swift in Sources */, + 13F24E422C758DF100D2BA90 /* LogoutAccountVC.swift in Sources */, 130913EF2C6DE67E00418201 /* HomeRelaxBanner_2_1_CCell.swift in Sources */, 1333DC7A2C72D8C400D8ACAE /* CourseDetail_3_TCell.swift in Sources */, 1300BD3C2C6DFB1C000BCA5E /* VIPCenterVC.swift in Sources */, 1377B4162C6DCC4300CF7CA5 /* Home_Style_4_Inner_1_CCell.swift in Sources */, 13E160212C6CB8930027F781 /* CommentListVC.swift in Sources */, 13A0A89E2C746A8700DF08B6 /* CommonAlertSheetView.swift in Sources */, + 13271D862C75EF8200DE1328 /* AddBankInfoVC.swift in Sources */, 137ABE3B2C6B6BDD003A91C5 /* ForgotPasswordInputCodeVC.swift in Sources */, 130B765D2C6C4C33006371AF /* HomeItemListVC.swift in Sources */, 1385E0002C6C4F1200AADB1F /* NetworkRequest.swift in Sources */, diff --git a/XQMuse/Assets.xcassets/Btns/btn_add.imageset/Contents.json b/XQMuse/Assets.xcassets/Btns/btn_add.imageset/Contents.json new file mode 100644 index 0000000..ed77722 --- /dev/null +++ b/XQMuse/Assets.xcassets/Btns/btn_add.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "btn_add@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "btn_add@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/XQMuse/Assets.xcassets/Btns/btn_add.imageset/btn_add@2x.png b/XQMuse/Assets.xcassets/Btns/btn_add.imageset/btn_add@2x.png new file mode 100644 index 0000000..5586a7e --- /dev/null +++ b/XQMuse/Assets.xcassets/Btns/btn_add.imageset/btn_add@2x.png Binary files differ diff --git a/XQMuse/Assets.xcassets/Btns/btn_add.imageset/btn_add@3x.png b/XQMuse/Assets.xcassets/Btns/btn_add.imageset/btn_add@3x.png new file mode 100644 index 0000000..99776ed --- /dev/null +++ b/XQMuse/Assets.xcassets/Btns/btn_add.imageset/btn_add@3x.png Binary files differ diff --git a/XQMuse/Assets.xcassets/Icons/icon_bankCard.imageset/Contents.json b/XQMuse/Assets.xcassets/Icons/icon_bankCard.imageset/Contents.json new file mode 100644 index 0000000..52661fe --- /dev/null +++ b/XQMuse/Assets.xcassets/Icons/icon_bankCard.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "icon_bankCard@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "icon_bankCard@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/XQMuse/Assets.xcassets/Icons/icon_bankCard.imageset/icon_bankCard@2x.png b/XQMuse/Assets.xcassets/Icons/icon_bankCard.imageset/icon_bankCard@2x.png new file mode 100644 index 0000000..c93795a --- /dev/null +++ b/XQMuse/Assets.xcassets/Icons/icon_bankCard.imageset/icon_bankCard@2x.png Binary files differ diff --git a/XQMuse/Assets.xcassets/Icons/icon_bankCard.imageset/icon_bankCard@3x.png b/XQMuse/Assets.xcassets/Icons/icon_bankCard.imageset/icon_bankCard@3x.png new file mode 100644 index 0000000..1b6268f --- /dev/null +++ b/XQMuse/Assets.xcassets/Icons/icon_bankCard.imageset/icon_bankCard@3x.png Binary files differ diff --git a/XQMuse/Assets.xcassets/Icons/icon_choose_w.imageset/Contents.json b/XQMuse/Assets.xcassets/Icons/icon_choose_w.imageset/Contents.json new file mode 100644 index 0000000..5045268 --- /dev/null +++ b/XQMuse/Assets.xcassets/Icons/icon_choose_w.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "icon_choose_w@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "icon_choose_w@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/XQMuse/Assets.xcassets/Icons/icon_choose_w.imageset/icon_choose_w@2x.png b/XQMuse/Assets.xcassets/Icons/icon_choose_w.imageset/icon_choose_w@2x.png new file mode 100644 index 0000000..b572355 --- /dev/null +++ b/XQMuse/Assets.xcassets/Icons/icon_choose_w.imageset/icon_choose_w@2x.png Binary files differ diff --git a/XQMuse/Assets.xcassets/Icons/icon_choose_w.imageset/icon_choose_w@3x.png b/XQMuse/Assets.xcassets/Icons/icon_choose_w.imageset/icon_choose_w@3x.png new file mode 100644 index 0000000..1b48bab --- /dev/null +++ b/XQMuse/Assets.xcassets/Icons/icon_choose_w.imageset/icon_choose_w@3x.png Binary files differ diff --git a/XQMuse/Assets.xcassets/Icons/icon_coin.imageset/Contents.json b/XQMuse/Assets.xcassets/Icons/icon_coin.imageset/Contents.json new file mode 100644 index 0000000..9716ab4 --- /dev/null +++ b/XQMuse/Assets.xcassets/Icons/icon_coin.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "icon_coin@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "icon_coin@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/XQMuse/Assets.xcassets/Icons/icon_coin.imageset/icon_coin@2x.png b/XQMuse/Assets.xcassets/Icons/icon_coin.imageset/icon_coin@2x.png new file mode 100644 index 0000000..ae43f7c --- /dev/null +++ b/XQMuse/Assets.xcassets/Icons/icon_coin.imageset/icon_coin@2x.png Binary files differ diff --git a/XQMuse/Assets.xcassets/Icons/icon_coin.imageset/icon_coin@3x.png b/XQMuse/Assets.xcassets/Icons/icon_coin.imageset/icon_coin@3x.png new file mode 100644 index 0000000..bef158b --- /dev/null +++ b/XQMuse/Assets.xcassets/Icons/icon_coin.imageset/icon_coin@3x.png Binary files differ diff --git a/XQMuse/Assets.xcassets/Icons/icon_like.imageset/Contents.json b/XQMuse/Assets.xcassets/Icons/icon_like.imageset/Contents.json new file mode 100644 index 0000000..1a1d415 --- /dev/null +++ b/XQMuse/Assets.xcassets/Icons/icon_like.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "icon_like@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "icon_like@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/XQMuse/Assets.xcassets/Icons/icon_like.imageset/icon_like@2x.png b/XQMuse/Assets.xcassets/Icons/icon_like.imageset/icon_like@2x.png new file mode 100644 index 0000000..dd8e2c5 --- /dev/null +++ b/XQMuse/Assets.xcassets/Icons/icon_like.imageset/icon_like@2x.png Binary files differ diff --git a/XQMuse/Assets.xcassets/Icons/icon_like.imageset/icon_like@3x.png b/XQMuse/Assets.xcassets/Icons/icon_like.imageset/icon_like@3x.png new file mode 100644 index 0000000..5e903df --- /dev/null +++ b/XQMuse/Assets.xcassets/Icons/icon_like.imageset/icon_like@3x.png Binary files differ diff --git a/XQMuse/Assets.xcassets/Icons/icon_msg.imageset/Contents.json b/XQMuse/Assets.xcassets/Icons/icon_msg.imageset/Contents.json new file mode 100644 index 0000000..ab44cdf --- /dev/null +++ b/XQMuse/Assets.xcassets/Icons/icon_msg.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "icon_msg@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "icon_msg@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/XQMuse/Assets.xcassets/Icons/icon_msg.imageset/icon_msg@2x.png b/XQMuse/Assets.xcassets/Icons/icon_msg.imageset/icon_msg@2x.png new file mode 100644 index 0000000..82dcc11 --- /dev/null +++ b/XQMuse/Assets.xcassets/Icons/icon_msg.imageset/icon_msg@2x.png Binary files differ diff --git a/XQMuse/Assets.xcassets/Icons/icon_msg.imageset/icon_msg@3x.png b/XQMuse/Assets.xcassets/Icons/icon_msg.imageset/icon_msg@3x.png new file mode 100644 index 0000000..e0cac3a --- /dev/null +++ b/XQMuse/Assets.xcassets/Icons/icon_msg.imageset/icon_msg@3x.png Binary files differ diff --git a/XQMuse/Assets.xcassets/Icons/icon_profileSetting.imageset/Contents.json b/XQMuse/Assets.xcassets/Icons/icon_profileSetting.imageset/Contents.json new file mode 100644 index 0000000..b374bf3 --- /dev/null +++ b/XQMuse/Assets.xcassets/Icons/icon_profileSetting.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "icon_profileSetting@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "icon_profileSetting@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/XQMuse/Assets.xcassets/Icons/icon_profileSetting.imageset/icon_profileSetting@2x.png b/XQMuse/Assets.xcassets/Icons/icon_profileSetting.imageset/icon_profileSetting@2x.png new file mode 100644 index 0000000..b1c3726 --- /dev/null +++ b/XQMuse/Assets.xcassets/Icons/icon_profileSetting.imageset/icon_profileSetting@2x.png Binary files differ diff --git a/XQMuse/Assets.xcassets/Icons/icon_profileSetting.imageset/icon_profileSetting@3x.png b/XQMuse/Assets.xcassets/Icons/icon_profileSetting.imageset/icon_profileSetting@3x.png new file mode 100644 index 0000000..83cb146 --- /dev/null +++ b/XQMuse/Assets.xcassets/Icons/icon_profileSetting.imageset/icon_profileSetting@3x.png Binary files differ diff --git a/XQMuse/Assets.xcassets/Placeholder/bg_help.imageset/Contents.json b/XQMuse/Assets.xcassets/Placeholder/bg_help.imageset/Contents.json new file mode 100644 index 0000000..9cffb4f --- /dev/null +++ b/XQMuse/Assets.xcassets/Placeholder/bg_help.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "bg_help@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "bg_help@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/XQMuse/Assets.xcassets/Placeholder/bg_help.imageset/bg_help@2x.png b/XQMuse/Assets.xcassets/Placeholder/bg_help.imageset/bg_help@2x.png new file mode 100644 index 0000000..507e85d --- /dev/null +++ b/XQMuse/Assets.xcassets/Placeholder/bg_help.imageset/bg_help@2x.png Binary files differ diff --git a/XQMuse/Assets.xcassets/Placeholder/bg_help.imageset/bg_help@3x.png b/XQMuse/Assets.xcassets/Placeholder/bg_help.imageset/bg_help@3x.png new file mode 100644 index 0000000..6be4940 --- /dev/null +++ b/XQMuse/Assets.xcassets/Placeholder/bg_help.imageset/bg_help@3x.png Binary files differ diff --git a/XQMuse/Assets.xcassets/Placeholder/bg_level.imageset/Contents.json b/XQMuse/Assets.xcassets/Placeholder/bg_level.imageset/Contents.json new file mode 100644 index 0000000..a2f298f --- /dev/null +++ b/XQMuse/Assets.xcassets/Placeholder/bg_level.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "bg_level@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "bg_level@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/XQMuse/Assets.xcassets/Placeholder/bg_level.imageset/bg_level@2x.png b/XQMuse/Assets.xcassets/Placeholder/bg_level.imageset/bg_level@2x.png new file mode 100644 index 0000000..7789f2d --- /dev/null +++ b/XQMuse/Assets.xcassets/Placeholder/bg_level.imageset/bg_level@2x.png Binary files differ diff --git a/XQMuse/Assets.xcassets/Placeholder/bg_level.imageset/bg_level@3x.png b/XQMuse/Assets.xcassets/Placeholder/bg_level.imageset/bg_level@3x.png new file mode 100644 index 0000000..5c9d949 --- /dev/null +++ b/XQMuse/Assets.xcassets/Placeholder/bg_level.imageset/bg_level@3x.png Binary files differ diff --git a/XQMuse/Assets.xcassets/Placeholder/bg_wallet.imageset/Contents.json b/XQMuse/Assets.xcassets/Placeholder/bg_wallet.imageset/Contents.json new file mode 100644 index 0000000..e6b4e7d --- /dev/null +++ b/XQMuse/Assets.xcassets/Placeholder/bg_wallet.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "bg_wallet@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "bg_wallet@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/XQMuse/Assets.xcassets/Placeholder/bg_wallet.imageset/bg_wallet@2x.png b/XQMuse/Assets.xcassets/Placeholder/bg_wallet.imageset/bg_wallet@2x.png new file mode 100644 index 0000000..6b95ca8 --- /dev/null +++ b/XQMuse/Assets.xcassets/Placeholder/bg_wallet.imageset/bg_wallet@2x.png Binary files differ diff --git a/XQMuse/Assets.xcassets/Placeholder/bg_wallet.imageset/bg_wallet@3x.png b/XQMuse/Assets.xcassets/Placeholder/bg_wallet.imageset/bg_wallet@3x.png new file mode 100644 index 0000000..a7f8401 --- /dev/null +++ b/XQMuse/Assets.xcassets/Placeholder/bg_wallet.imageset/bg_wallet@3x.png Binary files differ diff --git a/XQMuse/Config/Def.swift b/XQMuse/Config/Def.swift index 7f58de3..d0457be 100644 --- a/XQMuse/Config/Def.swift +++ b/XQMuse/Config/Def.swift @@ -97,7 +97,7 @@ extension UIButton { func localGradientColor(cornerRadius:Double,bounds:CGRect? = nil){ self.layer.sublayers?.removeAll(where: {$0 is CAGradientLayer}) - self.jq_gradientColor(colorArr: [UIColor(hexStr: "#FD8802").cgColor,UIColor(hexStr: "#FE7703").cgColor], cornerRadius: cornerRadius, startPoint: CGPoint(x: 0, y: 0), endPoint: CGPoint(x: 0, y: 1), bounds: bounds) + self.jq_gradientColor(colorArr: [UIColor(hexStr: "#8EA47A").cgColor,UIColor(hexStr: "#AFCA98").cgColor], cornerRadius: cornerRadius, startPoint: CGPoint(x: 0, y: 0), endPoint: CGPoint(x: 0, y: 1), bounds: bounds) } public func openCountDown(_ t:Int = 59,defultTitle:String = "获取验证码"){ diff --git a/XQMuse/Root/Home/HomeVC.swift b/XQMuse/Root/Home/HomeVC.swift index 7f0097f..03cb7ed 100644 --- a/XQMuse/Root/Home/HomeVC.swift +++ b/XQMuse/Root/Home/HomeVC.swift @@ -29,6 +29,9 @@ titleItems.append(TitleItem(title: "放松助眠", subTitle: "与内心的宁静与喜悦入睡",hasMore:true)) titleItems.append(TitleItem(title: "放松助眠", subTitle: "与内心的宁静与喜悦入睡",hasMore:true)) titleItems.append(TitleItem(title: "放松助眠", subTitle: "与内心的宁静与喜悦入睡",hasMore:true)) + + let vc = WalletRechargeVC() + push(vc: vc) } override func setUI() { diff --git a/XQMuse/Root/Me/CCell/EmptyCCell.swift b/XQMuse/Root/Me/CCell/EmptyCCell.swift index d4c50ca..42d8107 100644 --- a/XQMuse/Root/Me/CCell/EmptyCCell.swift +++ b/XQMuse/Root/Me/CCell/EmptyCCell.swift @@ -6,6 +6,7 @@ // import UIKit +import JQTools class EmptyCCell: UICollectionViewCell { @@ -14,4 +15,7 @@ // Initialization code } + @IBAction func needPaymentCourseAction(_ sender: UIButton) { + JQ_currentNavigationController().popToRootViewController(animated: true) + } } diff --git a/XQMuse/Root/Me/CCell/EmptyCCell.xib b/XQMuse/Root/Me/CCell/EmptyCCell.xib index 00fbf9c..601899e 100644 --- a/XQMuse/Root/Me/CCell/EmptyCCell.xib +++ b/XQMuse/Root/Me/CCell/EmptyCCell.xib @@ -44,6 +44,9 @@ <real key="value" value="21.25"/> </userDefinedRuntimeAttribute> </userDefinedRuntimeAttributes> + <connections> + <action selector="needPaymentCourseAction:" destination="gTV-IL-0wX" eventType="touchUpInside" id="8ex-gC-5Na"/> + </connections> </button> </subviews> </view> diff --git a/XQMuse/Root/Me/MeVC.swift b/XQMuse/Root/Me/MeVC.swift index cdf0925..a1bfe6f 100644 --- a/XQMuse/Root/Me/MeVC.swift +++ b/XQMuse/Root/Me/MeVC.swift @@ -20,10 +20,14 @@ @IBOutlet weak var btn_customer: QMUIButton! @IBOutlet weak var btn_setting: QMUIButton! @IBOutlet weak var btn_share: QMUIButton! + @IBOutlet weak var view_rank: GradientView! override func viewDidLoad() { super.viewDidLoad() + let tap = UITapGestureRecognizer(target: self, action: #selector(rankAction)) + view_rank.isUserInteractionEnabled = true + view_rank.addGestureRecognizer(tap) } override func setUI() { @@ -42,6 +46,12 @@ btn_share.imagePosition = .top } + @objc func rankAction(){ + let vc = WebVC() + vc.title = "爱心榜单" + push(vc: vc) + } + @IBAction func vipCenterAction(_ sender: Any) { let vc = VIPCenterVC() push(vc: vc) @@ -54,7 +64,8 @@ } @IBAction func studyLevelAction(_ sender: TapBtn) { - + let vc = LevelVC() + push(vc: vc) } @IBAction func systemMessageAction(_ sender: UIButton) { @@ -76,7 +87,8 @@ //我的账户 @IBAction func myAccountAction(_ sender: QMUIButton) { - + let vc = WalletVC() + push(vc: vc) } //观看历史 @@ -110,7 +122,7 @@ override init(frame: CGRect) { super.init(frame: frame) - jq_gradientColor(colorArr: [UIColor(hexString: "#F3FFF8 100%")!.cgColor,UIColor.white.cgColor]) + jq_gradientColor(colorArr: [UIColor(hexString: "#F3FFF8")!.cgColor,UIColor.white.cgColor]) } required init?(coder: NSCoder) { diff --git a/XQMuse/Root/Me/MeVC.xib b/XQMuse/Root/Me/MeVC.xib index aaf2a84..6abb0c3 100644 --- a/XQMuse/Root/Me/MeVC.xib +++ b/XQMuse/Root/Me/MeVC.xib @@ -20,6 +20,7 @@ <outlet property="btn_share" destination="503-ii-Lw9" id="v1J-Bx-FQ7"/> <outlet property="scrollView" destination="eKy-w2-ydR" id="uh0-OR-U8m"/> <outlet property="view" destination="iN0-l3-epB" id="xwB-6q-ebc"/> + <outlet property="view_rank" destination="4fN-Be-XLG" id="3h6-0r-QKI"/> </connections> </placeholder> <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> @@ -516,24 +517,25 @@ </stackView> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="uES-HP-Bfe"> <rect key="frame" x="351" y="17.333333333333329" width="20.666666666666686" height="20.666666666666671"/> - <color key="backgroundColor" red="0.4039215686" green="0.4039215686" blue="0.4039215686" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> <constraints> <constraint firstAttribute="width" constant="20.5" id="5hb-QM-5ZE"/> <constraint firstAttribute="height" constant="20.5" id="ejS-LE-TGS"/> </constraints> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> + <state key="normal" image="icon_profileSetting"/> <connections> - <action selector="settingAction:" destination="-1" eventType="touchUpInside" id="UIe-XJ-qJa"/> + <action selector="userProfileAction:" destination="-1" eventType="touchUpInside" id="f8T-XY-tt1"/> </connections> </button> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="cNy-lc-dn6"> <rect key="frame" x="306" y="17.333333333333329" width="20.666666666666686" height="20.666666666666671"/> - <color key="backgroundColor" red="0.4039215686" green="0.4039215686" blue="0.4039215686" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstAttribute="width" constant="20.5" id="X9n-5K-WLK"/> <constraint firstAttribute="height" constant="20.5" id="b2e-ju-jJJ"/> </constraints> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> + <state key="normal" image="icon_msg"/> <connections> <action selector="systemMessageAction:" destination="-1" eventType="touchUpInside" id="FcH-jm-Qng"/> </connections> @@ -605,6 +607,8 @@ <image name="icon_collect" width="24.666666030883789" height="21"/> <image name="icon_customer" width="23" height="23"/> <image name="icon_love" width="28" height="25"/> + <image name="icon_msg" width="19" height="17.666666030883789"/> + <image name="icon_profileSetting" width="20.666666030883789" height="18.666666030883789"/> <image name="icon_setting" width="24" height="22"/> <image name="icon_share" width="21.666666030883789" height="20.666666030883789"/> <image name="icon_time_2" width="23" height="23"/> diff --git a/XQMuse/Root/Me/TCell/BankInfoTCell.swift b/XQMuse/Root/Me/TCell/BankInfoTCell.swift new file mode 100644 index 0000000..321391c --- /dev/null +++ b/XQMuse/Root/Me/TCell/BankInfoTCell.swift @@ -0,0 +1,30 @@ +// +// BankInfoTCell.swift +// XQMuse +// +// Created by 无故事王国 on 2024/8/21. +// + +import UIKit +import JQTools + +class BankInfoTCell: UITableViewCell { + + @IBOutlet weak var view_content: UIView! + @IBOutlet weak var label_title: UILabel! + @IBOutlet weak var label_bankNumber: UILabel! + @IBOutlet weak var img_select: UIImageView! + + override func awakeFromNib() { + super.awakeFromNib() + selectionStyle = .none + } + + func isSelect(_ state:Bool){ + view_content.backgroundColor = state ? UIColor(hexString: "#AEC997")!:.white + label_title.textColor = state ? .white:UIColor(hexString: "#AEC997")! + label_bankNumber.textColor = state ? .white:UIColor(hexString: "#AEC997")! + view_content.jq_borderWidth = state ? 0:1 + img_select.isHidden = !state + } +} diff --git a/XQMuse/Root/Me/TCell/BankInfoTCell.xib b/XQMuse/Root/Me/TCell/BankInfoTCell.xib new file mode 100644 index 0000000..67ecc60 --- /dev/null +++ b/XQMuse/Root/Me/TCell/BankInfoTCell.xib @@ -0,0 +1,89 @@ +<?xml version="1.0" encoding="UTF-8"?> +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES"> + <device id="retina6_12" orientation="portrait" appearance="light"/> + <dependencies> + <deployment identifier="iOS"/> + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/> + <capability name="Safe area layout guides" minToolsVersion="9.0"/> + <capability name="System colors in document resources" minToolsVersion="11.0"/> + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> + </dependencies> + <objects> + <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/> + <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> + <tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" reuseIdentifier="_BankInfoTCell" rowHeight="92" id="KGk-i7-Jjw" customClass="BankInfoTCell" customModule="XQMuse" customModuleProvider="target"> + <rect key="frame" x="0.0" y="0.0" width="361" height="92"/> + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM"> + <rect key="frame" x="0.0" y="0.0" width="361" height="92"/> + <autoresizingMask key="autoresizingMask"/> + <subviews> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="PtR-yG-QTE"> + <rect key="frame" x="14" y="5" width="333" height="82"/> + <subviews> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="--" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="eCW-IO-cFg"> + <rect key="frame" x="9" y="13" width="14.666666666666664" height="22"/> + <constraints> + <constraint firstAttribute="height" constant="22" id="iLY-cn-nYt"/> + </constraints> + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="16"/> + <nil key="textColor"/> + <nil key="highlightedColor"/> + </label> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="**** **** **** **** 0011" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="OAO-Xr-E6r"> + <rect key="frame" x="9" y="42" width="150.33333333333334" height="17"/> + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/> + <nil key="textColor"/> + <nil key="highlightedColor"/> + </label> + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_choose_w" translatesAutoresizingMaskIntoConstraints="NO" id="kY1-z0-1Jq"> + <rect key="frame" x="300" y="30" width="22" height="22"/> + </imageView> + </subviews> + <color key="backgroundColor" systemColor="systemBackgroundColor"/> + <constraints> + <constraint firstItem="OAO-Xr-E6r" firstAttribute="leading" secondItem="eCW-IO-cFg" secondAttribute="leading" id="FjO-g9-3Zj"/> + <constraint firstItem="eCW-IO-cFg" firstAttribute="leading" secondItem="PtR-yG-QTE" secondAttribute="leading" constant="9" id="HJy-Us-YId"/> + <constraint firstAttribute="trailing" secondItem="kY1-z0-1Jq" secondAttribute="trailing" constant="11" id="WLE-dW-YqR"/> + <constraint firstItem="OAO-Xr-E6r" firstAttribute="top" secondItem="eCW-IO-cFg" secondAttribute="bottom" constant="7" id="qNX-xY-nvO"/> + <constraint firstItem="kY1-z0-1Jq" firstAttribute="centerY" secondItem="PtR-yG-QTE" secondAttribute="centerY" id="sHt-WH-DT2"/> + <constraint firstItem="eCW-IO-cFg" firstAttribute="top" secondItem="PtR-yG-QTE" secondAttribute="top" constant="13" id="zlW-54-qzr"/> + </constraints> + <userDefinedRuntimeAttributes> + <userDefinedRuntimeAttribute type="number" keyPath="ld_borderWidthXIB"> + <real key="value" value="1"/> + </userDefinedRuntimeAttribute> + <userDefinedRuntimeAttribute type="color" keyPath="ld_borderColorXIB"> + <color key="value" red="0.68235294117647061" green="0.78823529411764703" blue="0.59215686274509804" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + </userDefinedRuntimeAttribute> + <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/> + <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB"> + <real key="value" value="4"/> + </userDefinedRuntimeAttribute> + </userDefinedRuntimeAttributes> + </view> + </subviews> + <constraints> + <constraint firstItem="PtR-yG-QTE" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="5" id="2Bi-i6-v71"/> + <constraint firstItem="PtR-yG-QTE" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="14" id="PCV-aC-8Ku"/> + <constraint firstAttribute="trailing" secondItem="PtR-yG-QTE" secondAttribute="trailing" constant="14" id="cTB-hA-emS"/> + <constraint firstAttribute="bottom" secondItem="PtR-yG-QTE" secondAttribute="bottom" constant="5" id="lsg-T8-0R2"/> + </constraints> + </tableViewCellContentView> + <viewLayoutGuide key="safeArea" id="njF-e1-oar"/> + <connections> + <outlet property="img_select" destination="kY1-z0-1Jq" id="3Ey-fb-0TH"/> + <outlet property="label_bankNumber" destination="OAO-Xr-E6r" id="Xpw-Hr-dYm"/> + <outlet property="label_title" destination="eCW-IO-cFg" id="jvN-e4-99b"/> + <outlet property="view_content" destination="PtR-yG-QTE" id="lJF-my-mFC"/> + </connections> + <point key="canvasLocation" x="90.839694656488547" y="37.323943661971832"/> + </tableViewCell> + </objects> + <resources> + <image name="icon_choose_w" width="22" height="22"/> + <systemColor name="systemBackgroundColor"> + <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> + </systemColor> + </resources> +</document> diff --git a/XQMuse/Root/Me/VC/AddBankInfoVC.swift b/XQMuse/Root/Me/VC/AddBankInfoVC.swift new file mode 100644 index 0000000..d3e7421 --- /dev/null +++ b/XQMuse/Root/Me/VC/AddBankInfoVC.swift @@ -0,0 +1,31 @@ +// +// AddBankInfoVC.swift +// XQMuse +// +// Created by 无故事王国 on 2024/8/21. +// + +import UIKit +import QMUIKit + +class AddBankInfoVC: BaseVC { + + @IBOutlet weak var tf_idcard: QMUITextField! + @IBOutlet weak var btn_add: UIButton! + override func viewDidLoad() { + super.viewDidLoad() + title = "添加银行卡" + + let idCardView = IDCardView() + idCardView.box.bind { [weak self] text in + self?.tf_idcard.text = text + } + tf_idcard.inputView = idCardView + } + + override func setUI() { + view.backgroundColor = UIColor(hexString: "f6f6f6") + + btn_add.localGradientColor(cornerRadius: 20) + } +} diff --git a/XQMuse/Root/Me/VC/AddBankInfoVC.xib b/XQMuse/Root/Me/VC/AddBankInfoVC.xib new file mode 100644 index 0000000..fbd0be1 --- /dev/null +++ b/XQMuse/Root/Me/VC/AddBankInfoVC.xib @@ -0,0 +1,298 @@ +<?xml version="1.0" encoding="UTF-8"?> +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES"> + <device id="retina6_12" orientation="portrait" appearance="light"/> + <dependencies> + <deployment identifier="iOS"/> + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/> + <capability name="Safe area layout guides" minToolsVersion="9.0"/> + <capability name="System colors in document resources" minToolsVersion="11.0"/> + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> + </dependencies> + <objects> + <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="AddBankInfoVC" customModule="XQMuse" customModuleProvider="target"> + <connections> + <outlet property="btn_add" destination="Flq-AM-akx" id="ZK1-cZ-cIZ"/> + <outlet property="tf_idcard" destination="c3P-PL-JWg" id="f2k-T7-8VT"/> + <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> + </connections> + </placeholder> + <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> + <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT"> + <rect key="frame" x="0.0" y="0.0" width="393" height="852"/> + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> + <subviews> + <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="fwC-BB-rdM"> + <rect key="frame" x="14" y="69" width="365" height="100"/> + <subviews> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Jy4-zc-pml"> + <rect key="frame" x="0.0" y="0.0" width="365" height="50"/> + <subviews> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="开户行:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="hKJ-gl-2cy"> + <rect key="frame" x="10.000000000000004" y="15.333333333333327" width="57.333333333333343" height="19.333333333333329"/> + <fontDescription key="fontDescription" type="system" pointSize="16"/> + <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/> + <nil key="highlightedColor"/> + </label> + <textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="请输入" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="elz-Zp-tTi"> + <rect key="frame" x="90" y="14.666666666666671" width="265" height="21"/> + <fontDescription key="fontDescription" type="system" pointSize="16"/> + <textInputTraits key="textInputTraits"/> + </textField> + </subviews> + <color key="backgroundColor" systemColor="systemBackgroundColor"/> + <constraints> + <constraint firstItem="elz-Zp-tTi" firstAttribute="leading" secondItem="Jy4-zc-pml" secondAttribute="leading" constant="90" id="1BF-oj-NMt"/> + <constraint firstItem="elz-Zp-tTi" firstAttribute="centerY" secondItem="Jy4-zc-pml" secondAttribute="centerY" id="1Kn-bP-RY7"/> + <constraint firstAttribute="height" constant="50" id="3Zh-u8-M1C"/> + <constraint firstItem="hKJ-gl-2cy" firstAttribute="centerY" secondItem="Jy4-zc-pml" secondAttribute="centerY" id="7zt-ka-CgB"/> + <constraint firstAttribute="trailing" secondItem="elz-Zp-tTi" secondAttribute="trailing" constant="10" id="OkR-wC-Udz"/> + <constraint firstItem="hKJ-gl-2cy" firstAttribute="leading" secondItem="Jy4-zc-pml" secondAttribute="leading" constant="10" id="k1o-Hk-VDx"/> + </constraints> + </view> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="zc2-oY-JYR"> + <rect key="frame" x="0.0" y="50" width="365" height="50"/> + <subviews> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="卡号:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="x3A-cI-UqF"> + <rect key="frame" x="10" y="15.333333333333341" width="41" height="19.333333333333329"/> + <fontDescription key="fontDescription" type="system" pointSize="16"/> + <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/> + <nil key="highlightedColor"/> + </label> + <textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="请输入" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="lfq-e1-X3C" customClass="QMUITextField"> + <rect key="frame" x="90" y="14.666666666666657" width="265" height="21"/> + <fontDescription key="fontDescription" type="system" pointSize="16"/> + <textInputTraits key="textInputTraits" keyboardType="numberPad"/> + </textField> + </subviews> + <color key="backgroundColor" systemColor="systemBackgroundColor"/> + <constraints> + <constraint firstAttribute="trailing" secondItem="lfq-e1-X3C" secondAttribute="trailing" constant="10" id="E8d-cX-u7h"/> + <constraint firstAttribute="height" constant="50" id="Jp7-4K-yXE"/> + <constraint firstItem="lfq-e1-X3C" firstAttribute="leading" secondItem="zc2-oY-JYR" secondAttribute="leading" constant="90" id="cSs-Tw-5UC"/> + <constraint firstItem="lfq-e1-X3C" firstAttribute="centerY" secondItem="zc2-oY-JYR" secondAttribute="centerY" id="dqL-nq-EKE"/> + <constraint firstItem="x3A-cI-UqF" firstAttribute="centerY" secondItem="zc2-oY-JYR" secondAttribute="centerY" id="ei5-VU-Gz6"/> + <constraint firstItem="x3A-cI-UqF" firstAttribute="leading" secondItem="zc2-oY-JYR" secondAttribute="leading" constant="10" id="xzD-i2-48u"/> + </constraints> + </view> + </subviews> + <userDefinedRuntimeAttributes> + <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/> + <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB"> + <real key="value" value="10"/> + </userDefinedRuntimeAttribute> + </userDefinedRuntimeAttributes> + </stackView> + <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="07i-g0-s3b"> + <rect key="frame" x="14" y="179" width="365" height="200"/> + <subviews> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Kbs-HI-2sJ"> + <rect key="frame" x="0.0" y="0.0" width="365" height="50"/> + <subviews> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="持卡人:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Wd8-Qe-HeI"> + <rect key="frame" x="10.000000000000004" y="15.333333333333341" width="57.333333333333343" height="19.333333333333329"/> + <fontDescription key="fontDescription" type="system" pointSize="16"/> + <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/> + <nil key="highlightedColor"/> + </label> + <textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="请输入" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="P5B-z6-sMX" customClass="QMUITextField"> + <rect key="frame" x="90" y="14.666666666666657" width="265" height="21"/> + <fontDescription key="fontDescription" type="system" pointSize="16"/> + <textInputTraits key="textInputTraits"/> + </textField> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="7jm-Xo-v03"> + <rect key="frame" x="10" y="49" width="345" height="1"/> + <color key="backgroundColor" red="0.59215686274509804" green="0.59215686274509804" blue="0.59215686274509804" alpha="0.12" colorSpace="custom" customColorSpace="sRGB"/> + <constraints> + <constraint firstAttribute="height" constant="1" id="WoJ-HQ-xbd"/> + </constraints> + </view> + </subviews> + <color key="backgroundColor" systemColor="systemBackgroundColor"/> + <constraints> + <constraint firstItem="Wd8-Qe-HeI" firstAttribute="centerY" secondItem="Kbs-HI-2sJ" secondAttribute="centerY" id="KfX-Pb-SPf"/> + <constraint firstItem="7jm-Xo-v03" firstAttribute="leading" secondItem="Kbs-HI-2sJ" secondAttribute="leading" constant="10" id="L1v-Df-sG6"/> + <constraint firstAttribute="trailing" secondItem="7jm-Xo-v03" secondAttribute="trailing" constant="10" id="RMI-7W-hcX"/> + <constraint firstItem="Wd8-Qe-HeI" firstAttribute="leading" secondItem="Kbs-HI-2sJ" secondAttribute="leading" constant="10" id="V8E-UD-U8J"/> + <constraint firstAttribute="height" constant="50" id="iwX-Jw-D92"/> + <constraint firstAttribute="trailing" secondItem="P5B-z6-sMX" secondAttribute="trailing" constant="10" id="r1v-0m-5JB"/> + <constraint firstItem="P5B-z6-sMX" firstAttribute="leading" secondItem="Kbs-HI-2sJ" secondAttribute="leading" constant="90" id="tVi-gn-5Gs"/> + <constraint firstItem="P5B-z6-sMX" firstAttribute="centerY" secondItem="Kbs-HI-2sJ" secondAttribute="centerY" id="uYt-bn-soU"/> + <constraint firstAttribute="bottom" secondItem="7jm-Xo-v03" secondAttribute="bottom" id="yhT-Yk-9q4"/> + </constraints> + </view> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="9wE-yq-AUU"> + <rect key="frame" x="0.0" y="50" width="365" height="50"/> + <subviews> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="身份证号:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="rNC-EN-G1G"> + <rect key="frame" x="10" y="15.333333333333341" width="73.666666666666671" height="19.333333333333329"/> + <fontDescription key="fontDescription" type="system" pointSize="16"/> + <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/> + <nil key="highlightedColor"/> + </label> + <textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="请输入" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="c3P-PL-JWg" customClass="QMUITextField"> + <rect key="frame" x="90" y="14.666666666666657" width="265" height="21"/> + <fontDescription key="fontDescription" type="system" pointSize="16"/> + <textInputTraits key="textInputTraits"/> + <userDefinedRuntimeAttributes> + <userDefinedRuntimeAttribute type="number" keyPath="maximumTextLength"> + <integer key="value" value="18"/> + </userDefinedRuntimeAttribute> + </userDefinedRuntimeAttributes> + </textField> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="vEe-26-9PE"> + <rect key="frame" x="10" y="49" width="345" height="1"/> + <color key="backgroundColor" red="0.59215686270000001" green="0.59215686270000001" blue="0.59215686270000001" alpha="0.12" colorSpace="custom" customColorSpace="sRGB"/> + <constraints> + <constraint firstAttribute="height" constant="1" id="iYY-7U-tDT"/> + </constraints> + </view> + </subviews> + <color key="backgroundColor" systemColor="systemBackgroundColor"/> + <constraints> + <constraint firstAttribute="trailing" secondItem="vEe-26-9PE" secondAttribute="trailing" constant="10" id="DWu-rT-9ca"/> + <constraint firstAttribute="height" constant="50" id="GPW-Ed-ZnH"/> + <constraint firstItem="rNC-EN-G1G" firstAttribute="leading" secondItem="9wE-yq-AUU" secondAttribute="leading" constant="10" id="Iyh-nF-7gP"/> + <constraint firstAttribute="bottom" secondItem="vEe-26-9PE" secondAttribute="bottom" id="KvZ-4W-Cgd"/> + <constraint firstItem="vEe-26-9PE" firstAttribute="leading" secondItem="9wE-yq-AUU" secondAttribute="leading" constant="10" id="MID-ie-3Uc"/> + <constraint firstItem="rNC-EN-G1G" firstAttribute="centerY" secondItem="9wE-yq-AUU" secondAttribute="centerY" id="eOV-E9-Rgz"/> + <constraint firstAttribute="trailing" secondItem="c3P-PL-JWg" secondAttribute="trailing" constant="10" id="k2W-W9-76n"/> + <constraint firstItem="c3P-PL-JWg" firstAttribute="leading" secondItem="9wE-yq-AUU" secondAttribute="leading" constant="90" id="muF-0h-O8s"/> + <constraint firstItem="c3P-PL-JWg" firstAttribute="centerY" secondItem="9wE-yq-AUU" secondAttribute="centerY" id="pj5-Z9-awi"/> + </constraints> + </view> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="YA7-2Q-uz8"> + <rect key="frame" x="0.0" y="100" width="365" height="50"/> + <subviews> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="手机号:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ASX-h9-DTo"> + <rect key="frame" x="10.000000000000004" y="15.333333333333313" width="57.333333333333343" height="19.333333333333329"/> + <fontDescription key="fontDescription" type="system" pointSize="16"/> + <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/> + <nil key="highlightedColor"/> + </label> + <textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="请输入" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="BaQ-Md-hAN" customClass="QMUITextField"> + <rect key="frame" x="90" y="14.666666666666686" width="265" height="21"/> + <fontDescription key="fontDescription" type="system" pointSize="16"/> + <textInputTraits key="textInputTraits" keyboardType="numberPad"/> + <userDefinedRuntimeAttributes> + <userDefinedRuntimeAttribute type="number" keyPath="maximumTextLength"> + <integer key="value" value="11"/> + </userDefinedRuntimeAttribute> + </userDefinedRuntimeAttributes> + </textField> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="FAL-9n-waw"> + <rect key="frame" x="10" y="49" width="345" height="1"/> + <color key="backgroundColor" red="0.59215686270000001" green="0.59215686270000001" blue="0.59215686270000001" alpha="0.12" colorSpace="custom" customColorSpace="sRGB"/> + <constraints> + <constraint firstAttribute="height" constant="1" id="Ytg-zf-JPc"/> + </constraints> + </view> + </subviews> + <color key="backgroundColor" systemColor="systemBackgroundColor"/> + <constraints> + <constraint firstAttribute="trailing" secondItem="BaQ-Md-hAN" secondAttribute="trailing" constant="10" id="6R6-Ef-bDW"/> + <constraint firstItem="FAL-9n-waw" firstAttribute="leading" secondItem="YA7-2Q-uz8" secondAttribute="leading" constant="10" id="7yo-pV-JCw"/> + <constraint firstAttribute="height" constant="50" id="Jvg-oA-1r1"/> + <constraint firstItem="ASX-h9-DTo" firstAttribute="leading" secondItem="YA7-2Q-uz8" secondAttribute="leading" constant="10" id="NzV-gI-y6E"/> + <constraint firstItem="BaQ-Md-hAN" firstAttribute="leading" secondItem="YA7-2Q-uz8" secondAttribute="leading" constant="90" id="QdL-lv-wo6"/> + <constraint firstAttribute="trailing" secondItem="FAL-9n-waw" secondAttribute="trailing" constant="10" id="ZVl-Iu-TMJ"/> + <constraint firstAttribute="bottom" secondItem="FAL-9n-waw" secondAttribute="bottom" id="b77-RN-nQa"/> + <constraint firstItem="BaQ-Md-hAN" firstAttribute="centerY" secondItem="YA7-2Q-uz8" secondAttribute="centerY" id="r84-aO-N6a"/> + <constraint firstItem="ASX-h9-DTo" firstAttribute="centerY" secondItem="YA7-2Q-uz8" secondAttribute="centerY" id="raE-OM-Wh8"/> + </constraints> + </view> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="gPc-VD-yQi"> + <rect key="frame" x="0.0" y="150" width="365" height="50"/> + <subviews> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="请输入验证码:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Ck5-E9-RWu"> + <rect key="frame" x="10" y="15.333333333333313" width="106.33333333333333" height="19.333333333333329"/> + <fontDescription key="fontDescription" type="system" pointSize="16"/> + <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/> + <nil key="highlightedColor"/> + </label> + <textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="请输入" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="fdw-nZ-t66" customClass="QMUITextField"> + <rect key="frame" x="126.33333333333334" y="14.666666666666686" width="49" height="21"/> + <fontDescription key="fontDescription" type="system" pointSize="16"/> + <textInputTraits key="textInputTraits" keyboardType="numberPad"/> + <userDefinedRuntimeAttributes> + <userDefinedRuntimeAttribute type="number" keyPath="maximumTextLength"> + <integer key="value" value="6"/> + </userDefinedRuntimeAttribute> + </userDefinedRuntimeAttributes> + </textField> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="L5L-a9-Haw"> + <rect key="frame" x="10" y="49" width="345" height="1"/> + <color key="backgroundColor" red="0.59215686270000001" green="0.59215686270000001" blue="0.59215686270000001" alpha="0.12" colorSpace="custom" customColorSpace="sRGB"/> + <constraints> + <constraint firstAttribute="height" constant="1" id="vjX-FO-1Wf"/> + </constraints> + </view> + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="nRC-hW-ER0"> + <rect key="frame" x="272" y="9" width="82" height="32"/> + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="16"/> + <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> + <state key="normal" title="发送验证码"> + <color key="titleColor" red="0.54117647058823526" green="0.68235294117647061" blue="0.396078431372549" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + </state> + </button> + </subviews> + <color key="backgroundColor" systemColor="systemBackgroundColor"/> + <constraints> + <constraint firstItem="Ck5-E9-RWu" firstAttribute="centerY" secondItem="gPc-VD-yQi" secondAttribute="centerY" id="GNG-q8-M0D"/> + <constraint firstItem="fdw-nZ-t66" firstAttribute="centerY" secondItem="gPc-VD-yQi" secondAttribute="centerY" id="Vw4-1H-gQm"/> + <constraint firstAttribute="trailing" secondItem="L5L-a9-Haw" secondAttribute="trailing" constant="10" id="bTq-xs-Fvk"/> + <constraint firstItem="nRC-hW-ER0" firstAttribute="centerY" secondItem="gPc-VD-yQi" secondAttribute="centerY" id="ekj-nJ-dSn"/> + <constraint firstItem="fdw-nZ-t66" firstAttribute="leading" secondItem="Ck5-E9-RWu" secondAttribute="trailing" constant="10" id="n3m-Qh-WAm"/> + <constraint firstItem="L5L-a9-Haw" firstAttribute="leading" secondItem="gPc-VD-yQi" secondAttribute="leading" constant="10" id="r07-QG-QgX"/> + <constraint firstItem="Ck5-E9-RWu" firstAttribute="leading" secondItem="gPc-VD-yQi" secondAttribute="leading" constant="10" id="tUx-5z-vbA"/> + <constraint firstAttribute="height" constant="50" id="tVH-vw-htB"/> + <constraint firstAttribute="trailing" secondItem="nRC-hW-ER0" secondAttribute="trailing" constant="11" id="wOu-ny-e5N"/> + <constraint firstAttribute="bottom" secondItem="L5L-a9-Haw" secondAttribute="bottom" id="yQY-Ki-v2J"/> + </constraints> + </view> + </subviews> + <userDefinedRuntimeAttributes> + <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/> + <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB"> + <real key="value" value="10"/> + </userDefinedRuntimeAttribute> + </userDefinedRuntimeAttributes> + </stackView> + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Flq-AM-akx"> + <rect key="frame" x="45" y="438" width="303" height="40"/> + <color key="backgroundColor" red="0.54117647059999996" green="0.68235294120000001" blue="0.39607843139999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + <constraints> + <constraint firstAttribute="height" constant="40" id="NLW-rn-m10"/> + </constraints> + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="15"/> + <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> + <state key="normal" title="添加"/> + <userDefinedRuntimeAttributes> + <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/> + <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB"> + <real key="value" value="20"/> + </userDefinedRuntimeAttribute> + </userDefinedRuntimeAttributes> + </button> + </subviews> + <viewLayoutGuide key="safeArea" id="fnl-2z-Ty3"/> + <color key="backgroundColor" systemColor="systemBackgroundColor"/> + <constraints> + <constraint firstItem="Flq-AM-akx" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="45" id="0pF-4v-xLY"/> + <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="fwC-BB-rdM" secondAttribute="trailing" constant="14" id="6qT-VQ-gTL"/> + <constraint firstItem="07i-g0-s3b" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="14" id="IvV-YG-68g"/> + <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="07i-g0-s3b" secondAttribute="trailing" constant="14" id="JIg-m3-xhd"/> + <constraint firstItem="07i-g0-s3b" firstAttribute="top" secondItem="fwC-BB-rdM" secondAttribute="bottom" constant="10" id="Yj2-X6-sib"/> + <constraint firstItem="fwC-BB-rdM" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="14" id="ajJ-yi-V9w"/> + <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="Flq-AM-akx" secondAttribute="trailing" constant="45" id="bTt-f6-iGj"/> + <constraint firstItem="Flq-AM-akx" firstAttribute="top" secondItem="07i-g0-s3b" secondAttribute="bottom" constant="59" id="dZF-EA-as7"/> + <constraint firstItem="fwC-BB-rdM" firstAttribute="top" secondItem="fnl-2z-Ty3" secondAttribute="top" constant="10" id="y0n-oJ-ZZd"/> + </constraints> + <point key="canvasLocation" x="58.778625954198468" y="20.422535211267608"/> + </view> + </objects> + <resources> + <systemColor name="systemBackgroundColor"> + <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> + </systemColor> + </resources> +</document> diff --git a/XQMuse/Root/Me/VC/BankWithdrawVC.swift b/XQMuse/Root/Me/VC/BankWithdrawVC.swift new file mode 100644 index 0000000..669744b --- /dev/null +++ b/XQMuse/Root/Me/VC/BankWithdrawVC.swift @@ -0,0 +1,77 @@ +// +// BankWithdrawVC.swift +// XQMuse +// +// Created by 无故事王国 on 2024/8/21. +// + +import UIKit +import QMUIKit + +class BankWithdrawVC: BaseVC { + + @IBOutlet weak var tableView: UITableView! + @IBOutlet weak var cons_height: NSLayoutConstraint! + private var selectIndexPath = IndexPath(row: 0, section: 0) + + override func viewDidLoad() { + super.viewDidLoad() + title = "收益提现" + } + + override func setUI() { + view.backgroundColor = UIColor(hexString: "f6f6f6") + tableView.delegate = self + tableView.dataSource = self + tableView.separatorStyle = .none + tableView.backgroundColor = .clear + tableView.register(UINib(nibName: "BankInfoTCell", bundle: nil), forCellReuseIdentifier: "_BankInfoTCell") + cons_height.constant = 84 * 2 + } + + @IBAction func addBankCardAction(_ sender: QMUIButton) { + let vc = AddBankInfoVC() + push(vc: vc) + } +} + +extension BankWithdrawVC:UITableViewDelegate & UITableViewDataSource{ + + func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { + selectIndexPath = indexPath + tableView.reloadData() + } + + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { + let cell = tableView.dequeueReusableCell(withIdentifier: "_BankInfoTCell", for: indexPath) as! BankInfoTCell + cell.isSelect(indexPath == selectIndexPath) + return cell + } + + func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool { + return true + } + + func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) { + CommonAlertView.show(title: "提示", content: "是否删除此张银行卡?") { _ in + + } + } + + func tableView(_ tableView: UITableView, editingStyleForRowAt indexPath: IndexPath) -> UITableViewCell.EditingStyle { + return .delete + } + + func tableView(_ tableView: UITableView, titleForDeleteConfirmationButtonForRowAt indexPath: IndexPath) -> String? { + return "删除" + } + + + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { + return 2 + } + + func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { + return 84 + } +} diff --git a/XQMuse/Root/Me/VC/BankWithdrawVC.xib b/XQMuse/Root/Me/VC/BankWithdrawVC.xib new file mode 100644 index 0000000..98fe438 --- /dev/null +++ b/XQMuse/Root/Me/VC/BankWithdrawVC.xib @@ -0,0 +1,243 @@ +<?xml version="1.0" encoding="UTF-8"?> +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES"> + <device id="retina6_12" orientation="portrait" appearance="light"/> + <dependencies> + <deployment identifier="iOS"/> + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/> + <capability name="Safe area layout guides" minToolsVersion="9.0"/> + <capability name="System colors in document resources" minToolsVersion="11.0"/> + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> + </dependencies> + <objects> + <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="BankWithdrawVC" customModule="XQMuse" customModuleProvider="target"> + <connections> + <outlet property="cons_height" destination="JnR-vu-dbn" id="8dW-o7-cqk"/> + <outlet property="tableView" destination="ANy-Y0-lhb" id="VHQ-LH-zK3"/> + <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> + </connections> + </placeholder> + <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> + <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT"> + <rect key="frame" x="0.0" y="0.0" width="393" height="852"/> + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> + <subviews> + <scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" translatesAutoresizingMaskIntoConstraints="NO" id="9BP-hx-1CV"> + <rect key="frame" x="0.0" y="59" width="393" height="759"/> + <subviews> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="GWM-A7-0N4"> + <rect key="frame" x="0.0" y="0.0" width="393" height="800"/> + <subviews> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="5CF-zo-zBJ"> + <rect key="frame" x="14" y="10" width="365" height="40"/> + <subviews> + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="e5j-K3-G1y" customClass="QMUIButton"> + <rect key="frame" x="126.66666666666666" y="9" width="112" height="22"/> + <constraints> + <constraint firstAttribute="height" constant="22" id="osq-rB-xnm"/> + </constraints> + <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> + <state key="normal" title="添加银行卡" image="btn_add"> + <color key="titleColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="0.69999999999999996" colorSpace="custom" customColorSpace="sRGB"/> + </state> + <userDefinedRuntimeAttributes> + <userDefinedRuntimeAttribute type="number" keyPath="spacingBetweenImageAndTitle"> + <real key="value" value="11"/> + </userDefinedRuntimeAttribute> + </userDefinedRuntimeAttributes> + <connections> + <action selector="addBankCardAction:" destination="-1" eventType="touchUpInside" id="ciD-sJ-quM"/> + </connections> + </button> + </subviews> + <color key="backgroundColor" systemColor="systemBackgroundColor"/> + <constraints> + <constraint firstAttribute="height" constant="40" id="aSk-4S-Kqh"/> + <constraint firstItem="e5j-K3-G1y" firstAttribute="centerX" secondItem="5CF-zo-zBJ" secondAttribute="centerX" id="bwi-MC-8l1"/> + <constraint firstItem="e5j-K3-G1y" firstAttribute="centerY" secondItem="5CF-zo-zBJ" secondAttribute="centerY" id="lfh-wL-VtQ"/> + </constraints> + <userDefinedRuntimeAttributes> + <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/> + <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB"> + <real key="value" value="4"/> + </userDefinedRuntimeAttribute> + </userDefinedRuntimeAttributes> + </view> + <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" scrollEnabled="NO" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" style="plain" separatorStyle="default" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="-1" estimatedSectionHeaderHeight="-1" sectionFooterHeight="-1" estimatedSectionFooterHeight="-1" translatesAutoresizingMaskIntoConstraints="NO" id="ANy-Y0-lhb"> + <rect key="frame" x="0.0" y="55" width="393" height="50"/> + <color key="backgroundColor" systemColor="systemBackgroundColor"/> + <constraints> + <constraint firstAttribute="height" constant="50" id="JnR-vu-dbn"/> + </constraints> + </tableView> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="dzL-mF-fWd"> + <rect key="frame" x="14" y="119.99999999999999" width="365" height="198.66666666666663"/> + <subviews> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="提现方式" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="V3v-rW-oAU"> + <rect key="frame" x="10" y="17" width="65.333333333333329" height="19.333333333333329"/> + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="16"/> + <nil key="textColor"/> + <nil key="highlightedColor"/> + </label> + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_more" translatesAutoresizingMaskIntoConstraints="NO" id="muW-hg-S26"> + <rect key="frame" x="349" y="21.333333333333343" width="6" height="10.666666666666664"/> + </imageView> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="银行卡" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="cQl-FF-lcU"> + <rect key="frame" x="292" y="17" width="49" height="19.333333333333329"/> + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="16"/> + <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/> + <nil key="highlightedColor"/> + </label> + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_bankCard" translatesAutoresizingMaskIntoConstraints="NO" id="kNx-8Z-GFE"> + <rect key="frame" x="265" y="19.666666666666657" width="19" height="14"/> + </imageView> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="DVz-Aw-J8e"> + <rect key="frame" x="9" y="53.333333333333343" width="347" height="1"/> + <color key="backgroundColor" red="0.59215686274509804" green="0.59215686274509804" blue="0.59215686274509804" alpha="0.14999999999999999" colorSpace="custom" customColorSpace="sRGB"/> + <constraints> + <constraint firstAttribute="height" constant="1" id="Bii-C8-47a"/> + </constraints> + </view> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="提现金额" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ROF-gy-jCH"> + <rect key="frame" x="10.000000000000004" y="67.333333333333343" width="57.333333333333343" height="20"/> + <constraints> + <constraint firstAttribute="height" constant="20" id="2sL-SB-1hq"/> + </constraints> + <fontDescription key="fontDescription" type="system" pointSize="14"/> + <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.59999999999999998" colorSpace="custom" customColorSpace="sRGB"/> + <nil key="highlightedColor"/> + </label> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="¥" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="A8O-G3-C0r"> + <rect key="frame" x="10" y="105.33333333333331" width="15" height="33"/> + <constraints> + <constraint firstAttribute="height" constant="33" id="yEi-XF-quR"/> + </constraints> + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="24"/> + <nil key="textColor"/> + <nil key="highlightedColor"/> + </label> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="cZL-OS-uGM"> + <rect key="frame" x="9" y="151.33333333333331" width="347" height="1"/> + <color key="backgroundColor" red="0.59215686274509804" green="0.59215686274509804" blue="0.59215686274509804" alpha="0.14999999999999999" colorSpace="custom" customColorSpace="sRGB"/> + <constraints> + <constraint firstAttribute="height" constant="1" id="sjH-AP-Al1"/> + </constraints> + </view> + <textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="请输入提现金额" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="40r-zA-9fv"> + <rect key="frame" x="55" y="110.33333333333331" width="280" height="23.333333333333343"/> + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="18"/> + <textInputTraits key="textInputTraits" keyboardType="numberPad"/> + </textField> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="可提现余额:¥0" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Jnw-DF-MrW"> + <rect key="frame" x="10" y="165.33333333333331" width="103.66666666666667" height="17"/> + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/> + <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.68999999999999995" colorSpace="custom" customColorSpace="sRGB"/> + <nil key="highlightedColor"/> + </label> + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="qK8-WH-Xjd"> + <rect key="frame" x="297" y="159.33333333333331" width="58" height="29"/> + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/> + <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> + <state key="normal" title="全部提现"> + <color key="titleColor" red="0.54117647058823526" green="0.68235294117647061" blue="0.396078431372549" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + </state> + </button> + </subviews> + <color key="backgroundColor" systemColor="systemBackgroundColor"/> + <constraints> + <constraint firstAttribute="trailing" secondItem="qK8-WH-Xjd" secondAttribute="trailing" constant="10" id="4PB-at-tLO"/> + <constraint firstItem="A8O-G3-C0r" firstAttribute="leading" secondItem="dzL-mF-fWd" secondAttribute="leading" constant="10" id="5g5-zJ-9E7"/> + <constraint firstItem="ROF-gy-jCH" firstAttribute="top" secondItem="DVz-Aw-J8e" secondAttribute="bottom" constant="13" id="5sr-ir-FV5"/> + <constraint firstItem="cZL-OS-uGM" firstAttribute="leading" secondItem="dzL-mF-fWd" secondAttribute="leading" constant="9" id="8kI-Mj-LPR"/> + <constraint firstItem="Jnw-DF-MrW" firstAttribute="top" secondItem="cZL-OS-uGM" secondAttribute="bottom" constant="13" id="9C4-n2-sqB"/> + <constraint firstItem="qK8-WH-Xjd" firstAttribute="centerY" secondItem="Jnw-DF-MrW" secondAttribute="centerY" id="9MZ-Z8-bwJ"/> + <constraint firstAttribute="trailing" secondItem="40r-zA-9fv" secondAttribute="trailing" constant="30" id="FX3-U2-P4b"/> + <constraint firstItem="kNx-8Z-GFE" firstAttribute="centerY" secondItem="V3v-rW-oAU" secondAttribute="centerY" id="Jsg-Xf-j9i"/> + <constraint firstAttribute="trailing" secondItem="DVz-Aw-J8e" secondAttribute="trailing" constant="9" id="M4U-iB-viJ"/> + <constraint firstItem="Jnw-DF-MrW" firstAttribute="leading" secondItem="dzL-mF-fWd" secondAttribute="leading" constant="10" id="OgS-UW-cuD"/> + <constraint firstItem="A8O-G3-C0r" firstAttribute="top" secondItem="ROF-gy-jCH" secondAttribute="bottom" constant="18" id="PwR-Vh-i1P"/> + <constraint firstItem="cZL-OS-uGM" firstAttribute="top" secondItem="A8O-G3-C0r" secondAttribute="bottom" constant="13" id="RE0-6e-840"/> + <constraint firstItem="cQl-FF-lcU" firstAttribute="centerY" secondItem="V3v-rW-oAU" secondAttribute="centerY" id="SwL-Az-DCV"/> + <constraint firstItem="DVz-Aw-J8e" firstAttribute="top" secondItem="V3v-rW-oAU" secondAttribute="bottom" constant="17" id="VEh-Gq-3ck"/> + <constraint firstItem="muW-hg-S26" firstAttribute="centerY" secondItem="V3v-rW-oAU" secondAttribute="centerY" id="VqE-Cv-81X"/> + <constraint firstItem="DVz-Aw-J8e" firstAttribute="leading" secondItem="dzL-mF-fWd" secondAttribute="leading" constant="9" id="WHG-l9-duf"/> + <constraint firstItem="40r-zA-9fv" firstAttribute="centerY" secondItem="A8O-G3-C0r" secondAttribute="centerY" id="ZOU-0w-2J0"/> + <constraint firstItem="V3v-rW-oAU" firstAttribute="top" secondItem="dzL-mF-fWd" secondAttribute="top" constant="17" id="Zlo-ze-8Ea"/> + <constraint firstAttribute="width" secondItem="dzL-mF-fWd" secondAttribute="height" multiplier="1:0.5441" id="cGJ-Zi-mhl"/> + <constraint firstItem="cQl-FF-lcU" firstAttribute="leading" secondItem="kNx-8Z-GFE" secondAttribute="trailing" constant="8" id="gNf-O9-HyR"/> + <constraint firstAttribute="trailing" secondItem="cZL-OS-uGM" secondAttribute="trailing" constant="9" id="ghd-jZ-7DR"/> + <constraint firstAttribute="trailing" secondItem="muW-hg-S26" secondAttribute="trailing" constant="10" id="jem-zh-J8u"/> + <constraint firstItem="40r-zA-9fv" firstAttribute="leading" secondItem="A8O-G3-C0r" secondAttribute="trailing" constant="30" id="qB4-d3-9sD"/> + <constraint firstItem="ROF-gy-jCH" firstAttribute="leading" secondItem="dzL-mF-fWd" secondAttribute="leading" constant="10" id="rZZ-R3-VgC"/> + <constraint firstItem="V3v-rW-oAU" firstAttribute="leading" secondItem="dzL-mF-fWd" secondAttribute="leading" constant="10" id="uad-aM-2Sa"/> + <constraint firstItem="muW-hg-S26" firstAttribute="leading" secondItem="cQl-FF-lcU" secondAttribute="trailing" constant="8" id="xxd-KS-nh6"/> + </constraints> + <userDefinedRuntimeAttributes> + <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/> + <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB"> + <real key="value" value="10"/> + </userDefinedRuntimeAttribute> + </userDefinedRuntimeAttributes> + </view> + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="b5b-HD-xwQ"> + <rect key="frame" x="45" y="359.66666666666669" width="303" height="40"/> + <color key="backgroundColor" red="0.54117647059999996" green="0.68235294120000001" blue="0.39607843139999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + <constraints> + <constraint firstAttribute="height" constant="40" id="K5B-2c-JFV"/> + </constraints> + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="15"/> + <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> + <state key="normal" title="确认提现"/> + <userDefinedRuntimeAttributes> + <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/> + <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB"> + <real key="value" value="20"/> + </userDefinedRuntimeAttribute> + </userDefinedRuntimeAttributes> + </button> + </subviews> + <constraints> + <constraint firstAttribute="trailing" secondItem="5CF-zo-zBJ" secondAttribute="trailing" constant="14" id="AtI-ag-4ub"/> + <constraint firstAttribute="trailing" secondItem="ANy-Y0-lhb" secondAttribute="trailing" id="H0V-oB-XGa"/> + <constraint firstItem="5CF-zo-zBJ" firstAttribute="leading" secondItem="GWM-A7-0N4" secondAttribute="leading" constant="14" id="IbU-p7-hiO"/> + <constraint firstItem="b5b-HD-xwQ" firstAttribute="leading" secondItem="GWM-A7-0N4" secondAttribute="leading" constant="45" id="KEd-wH-jhs"/> + <constraint firstAttribute="trailing" secondItem="dzL-mF-fWd" secondAttribute="trailing" constant="14" id="NDH-oM-eEj"/> + <constraint firstItem="ANy-Y0-lhb" firstAttribute="leading" secondItem="GWM-A7-0N4" secondAttribute="leading" id="RKG-cR-ugx"/> + <constraint firstAttribute="trailing" secondItem="b5b-HD-xwQ" secondAttribute="trailing" constant="45" id="TF8-SJ-usb"/> + <constraint firstItem="5CF-zo-zBJ" firstAttribute="top" secondItem="GWM-A7-0N4" secondAttribute="top" constant="10" id="V9t-TN-46v"/> + <constraint firstAttribute="height" constant="800" id="WYF-xC-zHB"/> + <constraint firstItem="dzL-mF-fWd" firstAttribute="leading" secondItem="GWM-A7-0N4" secondAttribute="leading" constant="14" id="XW0-P2-yxo"/> + <constraint firstItem="ANy-Y0-lhb" firstAttribute="top" secondItem="5CF-zo-zBJ" secondAttribute="bottom" constant="5" id="g0r-vN-Avk"/> + <constraint firstItem="b5b-HD-xwQ" firstAttribute="top" secondItem="dzL-mF-fWd" secondAttribute="bottom" constant="41" id="rDE-op-yQV"/> + <constraint firstItem="dzL-mF-fWd" firstAttribute="top" secondItem="ANy-Y0-lhb" secondAttribute="bottom" constant="15" id="vaj-30-Erp"/> + </constraints> + </view> + </subviews> + <constraints> + <constraint firstItem="GWM-A7-0N4" firstAttribute="centerX" secondItem="9BP-hx-1CV" secondAttribute="centerX" id="Mz0-X6-Oug"/> + <constraint firstAttribute="trailing" secondItem="GWM-A7-0N4" secondAttribute="trailing" id="OLu-a6-ngK"/> + <constraint firstItem="GWM-A7-0N4" firstAttribute="leading" secondItem="9BP-hx-1CV" secondAttribute="leading" id="Ygz-ZE-Gso"/> + <constraint firstItem="GWM-A7-0N4" firstAttribute="top" secondItem="9BP-hx-1CV" secondAttribute="top" id="dJO-AW-QYu"/> + <constraint firstAttribute="bottom" secondItem="GWM-A7-0N4" secondAttribute="bottom" id="qNO-cJ-QJ5"/> + </constraints> + </scrollView> + </subviews> + <viewLayoutGuide key="safeArea" id="fnl-2z-Ty3"/> + <color key="backgroundColor" systemColor="systemBackgroundColor"/> + <constraints> + <constraint firstItem="9BP-hx-1CV" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" id="5ZU-jQ-JWI"/> + <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="9BP-hx-1CV" secondAttribute="trailing" id="9vx-XO-21l"/> + <constraint firstItem="fnl-2z-Ty3" firstAttribute="bottom" secondItem="9BP-hx-1CV" secondAttribute="bottom" id="E2O-eV-Ebm"/> + <constraint firstItem="9BP-hx-1CV" firstAttribute="top" secondItem="fnl-2z-Ty3" secondAttribute="top" id="Xr9-dx-BFq"/> + </constraints> + <point key="canvasLocation" x="139.69465648854961" y="20.422535211267608"/> + </view> + </objects> + <resources> + <image name="btn_add" width="20" height="20"/> + <image name="icon_bankCard" width="19" height="14"/> + <image name="icon_more" width="6" height="10.666666984558105"/> + <systemColor name="systemBackgroundColor"> + <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> + </systemColor> + </resources> +</document> diff --git a/XQMuse/Root/Me/VC/BindAccountVC.swift b/XQMuse/Root/Me/VC/BindAccountVC.swift new file mode 100644 index 0000000..68e4fbb --- /dev/null +++ b/XQMuse/Root/Me/VC/BindAccountVC.swift @@ -0,0 +1,29 @@ +// +// BindAccountVC.swift +// XQMuse +// +// Created by 无故事王国 on 2024/8/21. +// + +import UIKit + +class BindAccountVC: BaseVC { + + override func viewDidLoad() { + super.viewDidLoad() + title = "账号绑定" + + } + + @IBAction func bindPhoneAction(_ sender: Any) { + let vc = BindPhone_1_VC() + push(vc: vc) + } + + + @IBAction func updatePwdAction(_ sender: TapBtn) { + let vc = ForgotPasswordVC() + push(vc: vc) + } + +} diff --git a/XQMuse/Root/Me/VC/BindAccountVC.xib b/XQMuse/Root/Me/VC/BindAccountVC.xib new file mode 100644 index 0000000..44af336 --- /dev/null +++ b/XQMuse/Root/Me/VC/BindAccountVC.xib @@ -0,0 +1,174 @@ +<?xml version="1.0" encoding="UTF-8"?> +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES"> + <device id="retina6_12" orientation="portrait" appearance="light"/> + <dependencies> + <deployment identifier="iOS"/> + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/> + <capability name="Safe area layout guides" minToolsVersion="9.0"/> + <capability name="System colors in document resources" minToolsVersion="11.0"/> + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> + </dependencies> + <objects> + <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="BindAccountVC" customModule="XQMuse" customModuleProvider="target"> + <connections> + <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> + </connections> + </placeholder> + <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> + <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT"> + <rect key="frame" x="0.0" y="0.0" width="393" height="852"/> + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> + <subviews> + <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="z7W-El-2DY"> + <rect key="frame" x="0.0" y="59" width="393" height="153"/> + <subviews> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Rux-UN-BCS" customClass="TapBtn" customModule="XQMuse" customModuleProvider="target"> + <rect key="frame" x="0.0" y="0.0" width="393" height="51"/> + <subviews> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="zCt-fB-u6c"> + <rect key="frame" x="14" y="50.666666666666671" width="365" height="0.3333333333333357"/> + <color key="backgroundColor" red="0.83137254901960778" green="0.83137254901960778" blue="0.83137254901960778" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + <constraints> + <constraint firstAttribute="height" constant="0.40000000000000002" id="z4A-ku-Jxb"/> + </constraints> + </view> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="手机号码" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="TLZ-tC-0M2"> + <rect key="frame" x="14.000000000000004" y="17" width="57.333333333333343" height="17"/> + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/> + <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/> + <nil key="highlightedColor"/> + </label> + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_more" translatesAutoresizingMaskIntoConstraints="NO" id="bbi-3y-aZs"> + <rect key="frame" x="374" y="20" width="6" height="11"/> + <constraints> + <constraint firstAttribute="width" constant="6" id="GGL-MB-Cch"/> + <constraint firstAttribute="height" constant="10.67" id="vaM-hZ-qLV"/> + </constraints> + </imageView> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="--" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="JiT-I4-fQb"> + <rect key="frame" x="353" y="17" width="13" height="17"/> + <fontDescription key="fontDescription" type="system" pointSize="14"/> + <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/> + <nil key="highlightedColor"/> + </label> + </subviews> + <color key="backgroundColor" systemColor="systemBackgroundColor"/> + <constraints> + <constraint firstAttribute="trailing" secondItem="zCt-fB-u6c" secondAttribute="trailing" constant="14" id="2PO-VT-v4Q"/> + <constraint firstItem="JiT-I4-fQb" firstAttribute="centerY" secondItem="Rux-UN-BCS" secondAttribute="centerY" id="5aF-Af-8fh"/> + <constraint firstItem="TLZ-tC-0M2" firstAttribute="leading" secondItem="Rux-UN-BCS" secondAttribute="leading" constant="14" id="CdU-03-5LI"/> + <constraint firstAttribute="bottom" secondItem="zCt-fB-u6c" secondAttribute="bottom" id="FmT-1y-ali"/> + <constraint firstItem="bbi-3y-aZs" firstAttribute="leading" secondItem="JiT-I4-fQb" secondAttribute="trailing" constant="8" id="Gwy-FM-tE3"/> + <constraint firstAttribute="height" constant="51" id="NT0-Qw-NTg"/> + <constraint firstItem="TLZ-tC-0M2" firstAttribute="centerY" secondItem="Rux-UN-BCS" secondAttribute="centerY" id="Pk0-Qa-tZE"/> + <constraint firstAttribute="trailing" secondItem="bbi-3y-aZs" secondAttribute="trailing" constant="13" id="Sa1-jh-63L"/> + <constraint firstItem="zCt-fB-u6c" firstAttribute="leading" secondItem="Rux-UN-BCS" secondAttribute="leading" constant="14" id="cBv-ef-eco"/> + <constraint firstItem="bbi-3y-aZs" firstAttribute="centerY" secondItem="Rux-UN-BCS" secondAttribute="centerY" id="w3i-fe-N3c"/> + </constraints> + <connections> + <action selector="bindPhoneAction:" destination="-1" eventType="touchUpInside" id="vA6-kW-W8G"/> + </connections> + </view> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Wgk-EY-Mp1" customClass="TapBtn" customModule="XQMuse" customModuleProvider="target"> + <rect key="frame" x="0.0" y="51" width="393" height="51"/> + <subviews> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="8Ba-ju-fm8"> + <rect key="frame" x="14" y="50.666666666666657" width="365" height="0.3333333333333357"/> + <color key="backgroundColor" red="0.83137254900000002" green="0.83137254900000002" blue="0.83137254900000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + <constraints> + <constraint firstAttribute="height" constant="0.40000000000000002" id="JFE-h8-U72"/> + </constraints> + </view> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="改绑微信" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="rnP-eo-8fV"> + <rect key="frame" x="14.000000000000004" y="17" width="57.333333333333343" height="17"/> + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/> + <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/> + <nil key="highlightedColor"/> + </label> + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_more" translatesAutoresizingMaskIntoConstraints="NO" id="fr4-WS-o70"> + <rect key="frame" x="374" y="20" width="6" height="11"/> + <constraints> + <constraint firstAttribute="height" constant="10.67" id="Jla-7L-OzT"/> + <constraint firstAttribute="width" constant="6" id="fqD-Dj-zAf"/> + </constraints> + </imageView> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="未绑定" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="hyt-qR-dWk"> + <rect key="frame" x="323" y="17" width="43" height="17"/> + <fontDescription key="fontDescription" type="system" pointSize="14"/> + <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.34000000000000002" colorSpace="custom" customColorSpace="sRGB"/> + <nil key="highlightedColor"/> + </label> + </subviews> + <color key="backgroundColor" systemColor="systemBackgroundColor"/> + <constraints> + <constraint firstItem="hyt-qR-dWk" firstAttribute="centerY" secondItem="Wgk-EY-Mp1" secondAttribute="centerY" id="0Be-Rn-uqz"/> + <constraint firstAttribute="height" constant="51" id="3b3-2N-XI6"/> + <constraint firstAttribute="trailing" secondItem="fr4-WS-o70" secondAttribute="trailing" constant="13" id="82S-iA-Cr1"/> + <constraint firstItem="fr4-WS-o70" firstAttribute="centerY" secondItem="Wgk-EY-Mp1" secondAttribute="centerY" id="8IW-MK-8Dz"/> + <constraint firstItem="rnP-eo-8fV" firstAttribute="leading" secondItem="Wgk-EY-Mp1" secondAttribute="leading" constant="14" id="Cq6-dn-Qnw"/> + <constraint firstAttribute="trailing" secondItem="8Ba-ju-fm8" secondAttribute="trailing" constant="14" id="YSO-jc-8Er"/> + <constraint firstItem="8Ba-ju-fm8" firstAttribute="leading" secondItem="Wgk-EY-Mp1" secondAttribute="leading" constant="14" id="ane-sh-Ff6"/> + <constraint firstItem="fr4-WS-o70" firstAttribute="leading" secondItem="hyt-qR-dWk" secondAttribute="trailing" constant="8" id="sJF-Lb-iR9"/> + <constraint firstItem="rnP-eo-8fV" firstAttribute="centerY" secondItem="Wgk-EY-Mp1" secondAttribute="centerY" id="t59-mZ-wZl"/> + <constraint firstAttribute="bottom" secondItem="8Ba-ju-fm8" secondAttribute="bottom" id="zUS-gF-Qtl"/> + </constraints> + </view> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Dao-ey-Pqx" customClass="TapBtn" customModule="XQMuse" customModuleProvider="target"> + <rect key="frame" x="0.0" y="102" width="393" height="51"/> + <subviews> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="V7R-4l-l0I"> + <rect key="frame" x="14" y="50.666666666666657" width="365" height="0.3333333333333357"/> + <color key="backgroundColor" red="0.83137254900000002" green="0.83137254900000002" blue="0.83137254900000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + <constraints> + <constraint firstAttribute="height" constant="0.40000000000000002" id="K1o-nT-Zvt"/> + </constraints> + </view> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="修改密码" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Sff-Hx-7zu"> + <rect key="frame" x="14.000000000000004" y="17" width="57.333333333333343" height="17"/> + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/> + <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/> + <nil key="highlightedColor"/> + </label> + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_more" translatesAutoresizingMaskIntoConstraints="NO" id="8vT-pO-Q5u"> + <rect key="frame" x="374" y="20" width="6" height="11"/> + <constraints> + <constraint firstAttribute="width" constant="6" id="EXD-r6-L6c"/> + <constraint firstAttribute="height" constant="10.67" id="yvU-7J-R0s"/> + </constraints> + </imageView> + </subviews> + <color key="backgroundColor" systemColor="systemBackgroundColor"/> + <constraints> + <constraint firstAttribute="bottom" secondItem="V7R-4l-l0I" secondAttribute="bottom" id="IO9-zP-4VB"/> + <constraint firstAttribute="height" constant="51" id="Lob-1t-rvr"/> + <constraint firstItem="8vT-pO-Q5u" firstAttribute="centerY" secondItem="Dao-ey-Pqx" secondAttribute="centerY" id="SFa-FI-ccb"/> + <constraint firstItem="Sff-Hx-7zu" firstAttribute="centerY" secondItem="Dao-ey-Pqx" secondAttribute="centerY" id="U3s-8g-1mX"/> + <constraint firstItem="V7R-4l-l0I" firstAttribute="leading" secondItem="Dao-ey-Pqx" secondAttribute="leading" constant="14" id="WoK-jl-46Y"/> + <constraint firstAttribute="trailing" secondItem="V7R-4l-l0I" secondAttribute="trailing" constant="14" id="kex-sA-Tbn"/> + <constraint firstAttribute="trailing" secondItem="8vT-pO-Q5u" secondAttribute="trailing" constant="13" id="n8e-Hh-sgx"/> + <constraint firstItem="Sff-Hx-7zu" firstAttribute="leading" secondItem="Dao-ey-Pqx" secondAttribute="leading" constant="14" id="pua-If-x0h"/> + </constraints> + <connections> + <action selector="updatePwdAction:" destination="-1" eventType="touchUpInside" id="XKC-aw-6Bk"/> + </connections> + </view> + </subviews> + </stackView> + </subviews> + <viewLayoutGuide key="safeArea" id="fnl-2z-Ty3"/> + <color key="backgroundColor" systemColor="systemBackgroundColor"/> + <constraints> + <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="z7W-El-2DY" secondAttribute="trailing" id="dWj-fy-Xt4"/> + <constraint firstItem="z7W-El-2DY" firstAttribute="top" secondItem="fnl-2z-Ty3" secondAttribute="top" id="dt1-xB-HJp"/> + <constraint firstItem="z7W-El-2DY" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" id="xau-pk-2q6"/> + </constraints> + <point key="canvasLocation" x="140" y="21"/> + </view> + </objects> + <resources> + <image name="icon_more" width="6" height="10.666666984558105"/> + <systemColor name="systemBackgroundColor"> + <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> + </systemColor> + </resources> +</document> diff --git a/XQMuse/Root/Me/VC/BindPhone_1_VC.swift b/XQMuse/Root/Me/VC/BindPhone_1_VC.swift new file mode 100644 index 0000000..8f623b6 --- /dev/null +++ b/XQMuse/Root/Me/VC/BindPhone_1_VC.swift @@ -0,0 +1,30 @@ +// +// BindPhone_1_VC.swift +// XQMuse +// +// Created by 无故事王国 on 2024/8/21. +// + +import UIKit +import JQTools + +class BindPhone_1_VC: BaseVC { + + @IBOutlet weak var label_phone: UILabel! + @IBOutlet weak var btn_update: UIButton! + + override func viewDidLoad() { + super.viewDidLoad() + title = "绑定手机号" + } + + override func viewDidLayoutSubviews() { + super.viewDidLayoutSubviews() + btn_update.jq_gradientNibColor(colorArr: [UIColor(hexStr: "#8EA47A").cgColor,UIColor(hexStr: "#AFCA98").cgColor], cornerRadius: 20) + } + + @IBAction func bindPhoneAction(_ sender: UIButton) { + let vc = BindPhone_2_VC() + push(vc: vc) + } +} diff --git a/XQMuse/Root/Me/VC/BindPhone_1_VC.xib b/XQMuse/Root/Me/VC/BindPhone_1_VC.xib new file mode 100644 index 0000000..37ee495 --- /dev/null +++ b/XQMuse/Root/Me/VC/BindPhone_1_VC.xib @@ -0,0 +1,78 @@ +<?xml version="1.0" encoding="UTF-8"?> +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES"> + <device id="retina6_12" orientation="portrait" appearance="light"/> + <dependencies> + <deployment identifier="iOS"/> + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/> + <capability name="Safe area layout guides" minToolsVersion="9.0"/> + <capability name="System colors in document resources" minToolsVersion="11.0"/> + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> + </dependencies> + <objects> + <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="BindPhone_1_VC" customModule="XQMuse" customModuleProvider="target"> + <connections> + <outlet property="btn_update" destination="1A9-pa-hcM" id="6E1-dI-8Xg"/> + <outlet property="label_phone" destination="LGd-E7-43k" id="O3i-TM-0V9"/> + <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> + </connections> + </placeholder> + <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> + <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT"> + <rect key="frame" x="0.0" y="0.0" width="393" height="852"/> + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> + <subviews> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="你绑定的手机号码为:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="PLa-ym-FHY"> + <rect key="frame" x="128.66666666666666" y="110" width="135.99999999999997" height="17"/> + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/> + <nil key="textColor"/> + <nil key="highlightedColor"/> + </label> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="--" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="LGd-E7-43k"> + <rect key="frame" x="186" y="138" width="21.333333333333343" height="33"/> + <constraints> + <constraint firstAttribute="height" constant="33" id="veT-MN-uJs"/> + </constraints> + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="24"/> + <color key="textColor" red="0.68235294117647061" green="0.78823529411764703" blue="0.59215686274509804" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + <nil key="highlightedColor"/> + </label> + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="1A9-pa-hcM"> + <rect key="frame" x="44" y="328" width="305" height="40"/> + <color key="backgroundColor" red="0.68235294120000001" green="0.78823529410000004" blue="0.59215686270000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + <constraints> + <constraint firstAttribute="height" constant="40" id="Vhn-mT-ufj"/> + </constraints> + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="15"/> + <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> + <state key="normal" title="更换绑定手机"/> + <userDefinedRuntimeAttributes> + <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/> + <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB"> + <real key="value" value="20"/> + </userDefinedRuntimeAttribute> + </userDefinedRuntimeAttributes> + <connections> + <action selector="bindPhoneAction:" destination="-1" eventType="touchUpInside" id="4VL-VF-8uV"/> + </connections> + </button> + </subviews> + <viewLayoutGuide key="safeArea" id="fnl-2z-Ty3"/> + <color key="backgroundColor" systemColor="systemBackgroundColor"/> + <constraints> + <constraint firstItem="LGd-E7-43k" firstAttribute="top" secondItem="PLa-ym-FHY" secondAttribute="bottom" constant="11" id="6qe-CM-XXB"/> + <constraint firstItem="PLa-ym-FHY" firstAttribute="top" secondItem="fnl-2z-Ty3" secondAttribute="top" constant="51" id="6tY-QF-wGJ"/> + <constraint firstItem="PLa-ym-FHY" firstAttribute="centerX" secondItem="fnl-2z-Ty3" secondAttribute="centerX" id="EoZ-se-DpA"/> + <constraint firstItem="1A9-pa-hcM" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="44" id="LEh-7P-Hu3"/> + <constraint firstItem="1A9-pa-hcM" firstAttribute="top" secondItem="LGd-E7-43k" secondAttribute="bottom" constant="157" id="MyD-wA-lfI"/> + <constraint firstItem="LGd-E7-43k" firstAttribute="centerX" secondItem="PLa-ym-FHY" secondAttribute="centerX" id="acY-rL-eD7"/> + <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="1A9-pa-hcM" secondAttribute="trailing" constant="44" id="mwu-yW-Rmx"/> + </constraints> + <point key="canvasLocation" x="138" y="21"/> + </view> + </objects> + <resources> + <systemColor name="systemBackgroundColor"> + <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> + </systemColor> + </resources> +</document> diff --git a/XQMuse/Root/Me/VC/BindPhone_2_VC.swift b/XQMuse/Root/Me/VC/BindPhone_2_VC.swift new file mode 100644 index 0000000..2bba78f --- /dev/null +++ b/XQMuse/Root/Me/VC/BindPhone_2_VC.swift @@ -0,0 +1,38 @@ +// +// BindPhone_2_VC.swift +// XQMuse +// +// Created by 无故事王国 on 2024/8/21. +// + +import UIKit +import JQTools +import QMUIKit + +class BindPhone_2_VC: BaseVC { + + @IBOutlet weak var tf_phone: QMUITextField! + @IBOutlet weak var tf_code: QMUITextField! + @IBOutlet weak var btn_complete: UIButton! + override func viewDidLoad() { + super.viewDidLoad() + title = "更改绑定手机" + } + + + @IBAction func sendCodeAction(_ sender: UIButton) { + + } + + + @IBAction func completeAction(_ sender: UIButton) { + let vc = BindPhone_3_VC() + vc.modalPresentationStyle = .fullScreen + present(vc, animated: true) + } + + override func viewDidLayoutSubviews() { + super.viewDidLayoutSubviews() + btn_complete.jq_gradientNibColor(colorArr: [UIColor(hexStr: "#8EA47A").cgColor,UIColor(hexStr: "#AFCA98").cgColor], cornerRadius: 20) + } +} diff --git a/XQMuse/Root/Me/VC/BindPhone_2_VC.xib b/XQMuse/Root/Me/VC/BindPhone_2_VC.xib new file mode 100644 index 0000000..de78517 --- /dev/null +++ b/XQMuse/Root/Me/VC/BindPhone_2_VC.xib @@ -0,0 +1,177 @@ +<?xml version="1.0" encoding="UTF-8"?> +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES"> + <device id="retina6_12" orientation="portrait" appearance="light"/> + <dependencies> + <deployment identifier="iOS"/> + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/> + <capability name="Safe area layout guides" minToolsVersion="9.0"/> + <capability name="System colors in document resources" minToolsVersion="11.0"/> + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> + </dependencies> + <objects> + <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="BindPhone_2_VC" customModule="XQMuse" customModuleProvider="target"> + <connections> + <outlet property="btn_complete" destination="5Y1-Lh-YrS" id="Utj-IN-Rhv"/> + <outlet property="tf_code" destination="fSc-90-mQd" id="wZE-kb-7Kp"/> + <outlet property="tf_phone" destination="iVY-a7-Dza" id="efZ-wY-YFa"/> + <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> + </connections> + </placeholder> + <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> + <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT"> + <rect key="frame" x="0.0" y="0.0" width="393" height="852"/> + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> + <subviews> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="更换绑定手机号" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="hYd-rC-GZY"> + <rect key="frame" x="44" y="128" width="149.66666666666666" height="29"/> + <constraints> + <constraint firstAttribute="height" constant="29" id="n37-Dg-3xA"/> + </constraints> + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="21"/> + <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.81000000000000005" colorSpace="custom" customColorSpace="sRGB"/> + <nil key="highlightedColor"/> + </label> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="请输入手机号" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="7LE-go-AsO"> + <rect key="frame" x="44" y="164" width="86" height="14"/> + <constraints> + <constraint firstAttribute="height" constant="14" id="zfh-eC-uuc"/> + </constraints> + <fontDescription key="fontDescription" type="system" pointSize="14"/> + <color key="textColor" red="0.59215686274509804" green="0.59215686274509804" blue="0.59215686274509804" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + <nil key="highlightedColor"/> + </label> + <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="0mo-0P-B1S"> + <rect key="frame" x="45" y="218" width="303" height="124"/> + <subviews> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="TCO-QE-qOb"> + <rect key="frame" x="0.0" y="0.0" width="303" height="62"/> + <subviews> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Be0-Ub-wt1"> + <rect key="frame" x="0.0" y="61.333333333333314" width="303" height="0.6666666666666643"/> + <color key="backgroundColor" red="0.96470588239999999" green="0.94901960780000005" blue="0.94901960780000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + <constraints> + <constraint firstAttribute="height" constant="0.63" id="TcT-Ix-T8r"/> + </constraints> + </view> + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="CtF-TA-Wqg"> + <rect key="frame" x="0.0" y="15" width="30" height="32"/> + <fontDescription key="fontDescription" type="system" pointSize="16"/> + <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> + <state key="normal" title="+86"> + <color key="titleColor" red="0.0" green="0.0" blue="0.0" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/> + </state> + </button> + <textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="请输入手机号" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="iVY-a7-Dza" customClass="QMUITextField"> + <rect key="frame" x="57" y="21.666666666666657" width="219" height="18.666666666666671"/> + <fontDescription key="fontDescription" type="system" pointSize="14"/> + <textInputTraits key="textInputTraits" keyboardType="numberPad"/> + <userDefinedRuntimeAttributes> + <userDefinedRuntimeAttribute type="number" keyPath="maximumTextLength"> + <integer key="value" value="11"/> + </userDefinedRuntimeAttribute> + </userDefinedRuntimeAttributes> + </textField> + </subviews> + <color key="backgroundColor" systemColor="systemBackgroundColor"/> + <constraints> + <constraint firstItem="CtF-TA-Wqg" firstAttribute="leading" secondItem="TCO-QE-qOb" secondAttribute="leading" id="0n6-Gp-vi8"/> + <constraint firstItem="Be0-Ub-wt1" firstAttribute="leading" secondItem="TCO-QE-qOb" secondAttribute="leading" id="2jl-od-m7X"/> + <constraint firstAttribute="height" constant="62" id="B8f-My-kaP"/> + <constraint firstAttribute="bottom" secondItem="Be0-Ub-wt1" secondAttribute="bottom" id="CYE-lE-HfD"/> + <constraint firstItem="iVY-a7-Dza" firstAttribute="centerY" secondItem="CtF-TA-Wqg" secondAttribute="centerY" id="NsU-e6-LIH"/> + <constraint firstItem="iVY-a7-Dza" firstAttribute="leading" secondItem="TCO-QE-qOb" secondAttribute="leading" constant="57" id="QfN-aw-swP"/> + <constraint firstAttribute="trailing" secondItem="iVY-a7-Dza" secondAttribute="trailing" constant="27" id="VkS-BT-Jbd"/> + <constraint firstItem="CtF-TA-Wqg" firstAttribute="centerY" secondItem="TCO-QE-qOb" secondAttribute="centerY" id="ddu-Nc-jYk"/> + <constraint firstAttribute="trailing" secondItem="Be0-Ub-wt1" secondAttribute="trailing" id="uI5-1z-bEF"/> + </constraints> + </view> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="gkf-Nv-DjZ"> + <rect key="frame" x="0.0" y="62" width="303" height="62"/> + <subviews> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ZAk-6O-CpK"> + <rect key="frame" x="0.0" y="61.333333333333314" width="303" height="0.6666666666666643"/> + <color key="backgroundColor" red="0.96470588239999999" green="0.94901960780000005" blue="0.94901960780000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + <constraints> + <constraint firstAttribute="height" constant="0.63" id="xqp-RA-A7k"/> + </constraints> + </view> + <textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="请填写验证码" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="fSc-90-mQd" customClass="QMUITextField"> + <rect key="frame" x="0.0" y="21.666666666666686" width="183" height="18.666666666666671"/> + <fontDescription key="fontDescription" type="system" pointSize="14"/> + <textInputTraits key="textInputTraits" keyboardType="numberPad"/> + <userDefinedRuntimeAttributes> + <userDefinedRuntimeAttribute type="number" keyPath="maximumTextLength"> + <integer key="value" value="6"/> + </userDefinedRuntimeAttribute> + </userDefinedRuntimeAttributes> + </textField> + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Wb8-hi-sEB"> + <rect key="frame" x="231" y="16.666666666666686" width="72" height="29"/> + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/> + <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> + <state key="normal" title="获取验证码"> + <color key="titleColor" red="0.58823529409999997" green="0.67843137249999996" blue="0.50588235290000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + </state> + <connections> + <action selector="sendCodeAction:" destination="-1" eventType="touchUpInside" id="VlK-D1-7Vq"/> + </connections> + </button> + </subviews> + <color key="backgroundColor" systemColor="systemBackgroundColor"/> + <constraints> + <constraint firstAttribute="trailing" secondItem="fSc-90-mQd" secondAttribute="trailing" constant="120" id="4nl-xb-GY5"/> + <constraint firstAttribute="trailing" secondItem="Wb8-hi-sEB" secondAttribute="trailing" id="80v-dZ-00f"/> + <constraint firstAttribute="bottom" secondItem="ZAk-6O-CpK" secondAttribute="bottom" id="AdJ-bm-lcT"/> + <constraint firstAttribute="height" constant="62" id="UGu-Ay-AEl"/> + <constraint firstAttribute="trailing" secondItem="ZAk-6O-CpK" secondAttribute="trailing" id="nwM-yC-zKU"/> + <constraint firstItem="ZAk-6O-CpK" firstAttribute="leading" secondItem="gkf-Nv-DjZ" secondAttribute="leading" id="p58-xf-Fze"/> + <constraint firstItem="fSc-90-mQd" firstAttribute="centerY" secondItem="gkf-Nv-DjZ" secondAttribute="centerY" id="v84-bT-yWM"/> + <constraint firstItem="Wb8-hi-sEB" firstAttribute="centerY" secondItem="gkf-Nv-DjZ" secondAttribute="centerY" id="voX-At-6yY"/> + <constraint firstItem="fSc-90-mQd" firstAttribute="leading" secondItem="gkf-Nv-DjZ" secondAttribute="leading" id="vr8-WN-xI2"/> + </constraints> + </view> + </subviews> + </stackView> + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="5Y1-Lh-YrS"> + <rect key="frame" x="45" y="420" width="303" height="40"/> + <color key="backgroundColor" red="0.68235294120000001" green="0.78823529410000004" blue="0.59215686270000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + <constraints> + <constraint firstAttribute="height" constant="40" id="Zje-3l-M6v"/> + </constraints> + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="15"/> + <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> + <state key="normal" title="更换绑定手机"/> + <userDefinedRuntimeAttributes> + <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/> + <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB"> + <real key="value" value="20"/> + </userDefinedRuntimeAttribute> + </userDefinedRuntimeAttributes> + <connections> + <action selector="completeAction:" destination="-1" eventType="touchUpInside" id="kwp-7z-f9n"/> + </connections> + </button> + </subviews> + <viewLayoutGuide key="safeArea" id="fnl-2z-Ty3"/> + <color key="backgroundColor" systemColor="systemBackgroundColor"/> + <constraints> + <constraint firstItem="5Y1-Lh-YrS" firstAttribute="top" secondItem="0mo-0P-B1S" secondAttribute="bottom" constant="78" id="Ahg-rU-GVr"/> + <constraint firstItem="hYd-rC-GZY" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="44" id="BCe-5F-qAa"/> + <constraint firstItem="hYd-rC-GZY" firstAttribute="top" secondItem="fnl-2z-Ty3" secondAttribute="top" constant="69" id="Gmb-vm-MGU"/> + <constraint firstItem="5Y1-Lh-YrS" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="45" id="HFb-FR-XR1"/> + <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="5Y1-Lh-YrS" secondAttribute="trailing" constant="45" id="MLM-u9-W4P"/> + <constraint firstItem="7LE-go-AsO" firstAttribute="top" secondItem="hYd-rC-GZY" secondAttribute="bottom" constant="7" id="P6X-WN-jU2"/> + <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="0mo-0P-B1S" secondAttribute="trailing" constant="45" id="b57-pT-w04"/> + <constraint firstItem="0mo-0P-B1S" firstAttribute="top" secondItem="7LE-go-AsO" secondAttribute="bottom" constant="40" id="jwq-Kl-Mkl"/> + <constraint firstItem="0mo-0P-B1S" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="45" id="ocw-Wx-IVl"/> + <constraint firstItem="7LE-go-AsO" firstAttribute="leading" secondItem="hYd-rC-GZY" secondAttribute="leading" id="r6I-JA-ULp"/> + </constraints> + <point key="canvasLocation" x="59" y="21"/> + </view> + </objects> + <resources> + <systemColor name="systemBackgroundColor"> + <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> + </systemColor> + </resources> +</document> diff --git a/XQMuse/Root/Me/VC/BindPhone_3_VC.swift b/XQMuse/Root/Me/VC/BindPhone_3_VC.swift new file mode 100644 index 0000000..32cde78 --- /dev/null +++ b/XQMuse/Root/Me/VC/BindPhone_3_VC.swift @@ -0,0 +1,25 @@ +// +// BindPhone_3_VC.swift +// XQMuse +// +// Created by 无故事王国 on 2024/8/21. +// + +import UIKit +import JQTools + +class BindPhone_3_VC: BaseVC { + + @IBOutlet weak var btn_relogin: UIButton! + + override func viewDidLoad() { + super.viewDidLoad() + title = "更换绑定手机" + + } + + override func viewDidLayoutSubviews() { + super.viewDidLayoutSubviews() + btn_relogin.jq_gradientNibColor(colorArr: [UIColor(hexStr: "#8EA47A").cgColor,UIColor(hexStr: "#AFCA98").cgColor], cornerRadius: 20) + } +} diff --git a/XQMuse/Root/Me/VC/BindPhone_3_VC.xib b/XQMuse/Root/Me/VC/BindPhone_3_VC.xib new file mode 100644 index 0000000..48cbaf9 --- /dev/null +++ b/XQMuse/Root/Me/VC/BindPhone_3_VC.xib @@ -0,0 +1,81 @@ +<?xml version="1.0" encoding="UTF-8"?> +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES"> + <device id="retina6_12" orientation="portrait" appearance="light"/> + <dependencies> + <deployment identifier="iOS"/> + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/> + <capability name="Safe area layout guides" minToolsVersion="9.0"/> + <capability name="System colors in document resources" minToolsVersion="11.0"/> + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> + </dependencies> + <objects> + <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="BindPhone_3_VC" customModule="XQMuse" customModuleProvider="target"> + <connections> + <outlet property="btn_relogin" destination="YgJ-ux-dDT" id="C8C-ys-L8b"/> + <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> + </connections> + </placeholder> + <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> + <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT"> + <rect key="frame" x="0.0" y="0.0" width="393" height="852"/> + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> + <subviews> + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_success_full" translatesAutoresizingMaskIntoConstraints="NO" id="nqJ-La-ruG"> + <rect key="frame" x="176.66666666666666" y="108" width="40" height="40"/> + <constraints> + <constraint firstAttribute="height" constant="40" id="NDG-Rz-PsT"/> + <constraint firstAttribute="width" constant="40" id="QlB-Hj-ebH"/> + </constraints> + </imageView> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="操作成功" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="g7h-c0-TSN"> + <rect key="frame" x="168" y="168" width="57.333333333333343" height="17"/> + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/> + <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.59999999999999998" colorSpace="custom" customColorSpace="sRGB"/> + <nil key="highlightedColor"/> + </label> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="您已成功更换绑定手机号,请重新登录" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="3ci-c0-6LV"> + <rect key="frame" x="75" y="194" width="243" height="17"/> + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/> + <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.59999999999999998" colorSpace="custom" customColorSpace="sRGB"/> + <nil key="highlightedColor"/> + </label> + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="YgJ-ux-dDT"> + <rect key="frame" x="45" y="323" width="303" height="40"/> + <color key="backgroundColor" red="0.68235294120000001" green="0.78823529410000004" blue="0.59215686270000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + <constraints> + <constraint firstAttribute="height" constant="40" id="Dvz-OC-mKg"/> + </constraints> + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="15"/> + <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> + <state key="normal" title="重新登录"/> + <userDefinedRuntimeAttributes> + <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/> + <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB"> + <real key="value" value="20"/> + </userDefinedRuntimeAttribute> + </userDefinedRuntimeAttributes> + </button> + </subviews> + <viewLayoutGuide key="safeArea" id="fnl-2z-Ty3"/> + <color key="backgroundColor" systemColor="systemBackgroundColor"/> + <constraints> + <constraint firstItem="nqJ-La-ruG" firstAttribute="top" secondItem="fnl-2z-Ty3" secondAttribute="top" constant="49" id="0F9-1L-9rf"/> + <constraint firstItem="3ci-c0-6LV" firstAttribute="centerX" secondItem="g7h-c0-TSN" secondAttribute="centerX" id="BYN-K3-JQV"/> + <constraint firstItem="g7h-c0-TSN" firstAttribute="top" secondItem="nqJ-La-ruG" secondAttribute="bottom" constant="20" id="EKx-Gh-l57"/> + <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="YgJ-ux-dDT" secondAttribute="trailing" constant="45" id="J6c-Ss-HeF"/> + <constraint firstItem="g7h-c0-TSN" firstAttribute="centerX" secondItem="nqJ-La-ruG" secondAttribute="centerX" id="JVz-3Z-Pux"/> + <constraint firstItem="3ci-c0-6LV" firstAttribute="top" secondItem="g7h-c0-TSN" secondAttribute="bottom" constant="9" id="XWL-TE-lSl"/> + <constraint firstItem="YgJ-ux-dDT" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="45" id="a4l-PB-xSy"/> + <constraint firstItem="nqJ-La-ruG" firstAttribute="centerX" secondItem="fnl-2z-Ty3" secondAttribute="centerX" id="lTs-gl-PNY"/> + <constraint firstItem="YgJ-ux-dDT" firstAttribute="top" secondItem="3ci-c0-6LV" secondAttribute="bottom" constant="112" id="vUI-Xs-mzB"/> + </constraints> + <point key="canvasLocation" x="59" y="21"/> + </view> + </objects> + <resources> + <image name="icon_success_full" width="40" height="40"/> + <systemColor name="systemBackgroundColor"> + <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> + </systemColor> + </resources> +</document> diff --git a/XQMuse/Root/Me/VC/HelpCenterVC.swift b/XQMuse/Root/Me/VC/HelpCenterVC.swift new file mode 100644 index 0000000..64ac689 --- /dev/null +++ b/XQMuse/Root/Me/VC/HelpCenterVC.swift @@ -0,0 +1,177 @@ +// +// HelpCenterVC.swift +// XQMuse +// +// Created by 无故事王国 on 2024/8/21. +// + +import UIKit +import SPPageMenu +import FFPage +import JQTools + +class HelpCenterVC: BaseVC { + + @IBOutlet weak var view_content: UIView! + + private(set) var pageMenu:SPPageMenu = { + let pageMenu = SPPageMenu(frame: .zero, trackerStyle: .line) + // 追踪线 + pageMenu.trackerWidth = 12 + pageMenu.setTrackerHeight(2, cornerRadius:1) + pageMenu.trackerFollowingMode = .always + pageMenu.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: 5, right: 0) + pageMenu.setItems(["切换账号","改绑手机号","改绑微信"], selectedItemIndex: 0) + pageMenu.backgroundColor = UIColor(hexString: "#F0F0F0") + pageMenu.tracker.backgroundColor = .white + pageMenu.backgroundColor = .white + + // 分割线 + pageMenu.dividingLine.backgroundColor = .clear + pageMenu.dividingLineHeight = 0.0 + + // item + pageMenu.permutationWay = .notScrollAdaptContent + + // 字体 + pageMenu.selectedItemTitleFont = UIFont.systemFont(ofSize: 18, weight: .semibold) + pageMenu.unSelectedItemTitleFont = UIFont.systemFont(ofSize: 15, weight: .semibold) + // 颜色 + pageMenu.selectedItemTitleColor = UIColor(hexStr: "#282828") + pageMenu.unSelectedItemTitleColor = UIColor(hexStr: "#C3C3C2") + return pageMenu + }() + + lazy var pageViewController:FFPageViewController = { + let pageVC = FFPageViewController() + pageVC.view.backgroundColor = .clear + pageVC.scrollview.backgroundColor = .clear + + pageVC.scrollview.bounces = false + return pageVC + }() + + override func viewDidLoad() { + super.viewDidLoad() + title = "帮助中心" + } + + override func setUI() { + super.setUI() + pageMenu.delegate = self + + view_content.addSubview(pageMenu) + pageMenu.snp.makeConstraints { make in + make.left.right.equalToSuperview() + make.height.equalTo(52.5) + make.top.equalTo(17.5) + } + + let lineView = UIView() + lineView.backgroundColor = UIColor(hexString: "#D0D0D0") + view_content.addSubview(lineView) + lineView.snp.makeConstraints { make in + make.top.equalTo(pageMenu.snp.bottom) + make.left.equalTo(20) + make.right.equalTo(-20) + make.height.equalTo(0.5) + } + + + view.addSubview(pageViewController.view) + pageViewController.view.backgroundColor = .clear + pageViewController.delegate = self + pageViewController.view.snp.makeConstraints { make in + make.top.equalTo(lineView.snp.bottom) + make.left.right.bottom.equalToSuperview() + } + } +} + +extension HelpCenterVC:SPPageMenuDelegate{ + func pageMenu(_ pageMenu: SPPageMenu, itemSelectedAt index: Int) { + pageViewController.scroll(toPage: index, animation: true) + } +} + + +extension HelpCenterVC:FFPageViewControllerDelegate{ + + func pageViewController(_ pageViewController: FFPageViewController, currentPageChanged currentPage: Int) { + pageMenu.selectedItemIndex = currentPage + } + + func totalPagesOfpageViewController(_ pageViewConteoller: FFPageViewController) -> UInt { + return pageMenu.numberOfItems + } + + func pageViewController(_ pageViewConteoller: FFPageViewController, controllerForPage page: Int) -> UIViewController { + return HelpCenterDetailVC(page: page) + } +} + +class HelpCenterDetailVC:BaseVC{ + private var page:Int! + + private var label_content:UILabel! + private var btn_handle:UIButton! + + init(page:Int) { + super.init(nibName: nil, bundle: nil) + self.page = page + } + + override func setUI() { + label_content = UILabel() + label_content.numberOfLines = 0 + view.addSubview(label_content) + label_content.snp.makeConstraints { make in + make.top.equalTo(24) + make.left.equalTo(20.5) + make.right.equalTo(-20.5) + } + + btn_handle = UIButton(type: .custom) + btn_handle.backgroundColor = UIColor(hexString: "#8AAE65") + btn_handle.jq_cornerRadius = 21.25 + btn_handle.titleLabel?.font = UIFont.systemFont(ofSize: 15, weight: .medium) + btn_handle.addTarget(self, action: #selector(exchangeAction), for: .touchUpInside) + view.addSubview(btn_handle) + btn_handle.snp.makeConstraints { make in + make.top.equalTo(label_content.snp.bottom).offset(69.5) + make.left.equalTo(51.5) + make.right.equalTo(-51.5) + make.height.equalTo(42.5) + } + + let attribute = AttributedStringbuilder.build() + switch page { + case 0: + attribute.add(string: "如你当前登录心泉·疗愈的手机号码不是购买课程时填写的手机号码,请点击下方按钮,使用购买课程的手机号码登录即可。", withFont: .systemFont(ofSize: 13), withColor: UIColor(hexString:"#282828")!, indent: 0, lineSpace: 5) + btn_handle.setTitle("换个手机号码登录", for: .normal) + case 1: + attribute.add(string: "如你希望变更心泉·疗愈的手机号码,请点击下方按钮,根据页面提示录入新的手机号码。", withFont: .systemFont(ofSize: 13), withColor: UIColor(hexString:"#282828")!, indent: 0, lineSpace: 5) + btn_handle.setTitle("前往改绑手机号", for: .normal) + case 2: + attribute.add(string: "如你希望变更心泉·疗愈的微信号,请点击下方按钮,根据页面提示授权登录其他微信号。", withFont: .systemFont(ofSize: 13), withColor: UIColor(hexString:"#282828")!, indent: 0, lineSpace: 5) + btn_handle.setTitle("前往改绑微信号", for: .normal) + + default:break + } + + label_content.attributedText = attribute.mutableAttributedString + } + + @objc func exchangeAction(){ + if page == 0{ + sceneDelegate?.needLogin() + }else{ + JQ_currentNavigationController().pushViewController(BindAccountVC(), animated: true) + } + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + +} diff --git a/XQMuse/Root/Me/VC/HelpCenterVC.xib b/XQMuse/Root/Me/VC/HelpCenterVC.xib new file mode 100644 index 0000000..012c451 --- /dev/null +++ b/XQMuse/Root/Me/VC/HelpCenterVC.xib @@ -0,0 +1,88 @@ +<?xml version="1.0" encoding="UTF-8"?> +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES"> + <device id="retina6_12" orientation="portrait" appearance="light"/> + <dependencies> + <deployment identifier="iOS"/> + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/> + <capability name="Safe area layout guides" minToolsVersion="9.0"/> + <capability name="System colors in document resources" minToolsVersion="11.0"/> + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> + </dependencies> + <objects> + <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="HelpCenterVC" customModule="XQMuse" customModuleProvider="target"> + <connections> + <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> + <outlet property="view_content" destination="xML-KV-XeH" id="9bv-3x-iwM"/> + </connections> + </placeholder> + <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> + <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT"> + <rect key="frame" x="0.0" y="0.0" width="393" height="852"/> + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> + <subviews> + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="top" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="bg_help" translatesAutoresizingMaskIntoConstraints="NO" id="pAC-sr-W8M"> + <rect key="frame" x="0.0" y="0.0" width="393" height="461"/> + <constraints> + <constraint firstAttribute="width" secondItem="pAC-sr-W8M" secondAttribute="height" multiplier="1:1.173" id="jHB-RH-JlI"/> + </constraints> + </imageView> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="找不到已购课程,通常是因为当前登录的手机号码并非购买课程时使用的手机号码所致,可通过以下方式找回课程。" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="w5R-wz-EoA"> + <rect key="frame" x="21.666666666666657" y="230.33333333333334" width="350" height="28.666666666666657"/> + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="12"/> + <color key="textColor" red="0.12156862745098039" green="0.12156862745098039" blue="0.12156862745098039" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + <nil key="highlightedColor"/> + </label> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Qa7-7e-0dj"> + <rect key="frame" x="21" y="142" width="184" height="57.333333333333343"/> + <string key="text">找不到 +已购课程怎么办?</string> + <fontDescription key="fontDescription" type="system" weight="heavy" pointSize="24"/> + <color key="textColor" red="0.54117647058823526" green="0.68235294117647061" blue="0.396078431372549" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + <nil key="highlightedColor"/> + </label> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="dEu-an-YSc"> + <rect key="frame" x="0.0" y="461" width="393" height="357"/> + <color key="backgroundColor" systemColor="systemBackgroundColor"/> + </view> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="xML-KV-XeH"> + <rect key="frame" x="0.0" y="294" width="393" height="524"/> + <color key="backgroundColor" systemColor="systemBackgroundColor"/> + <userDefinedRuntimeAttributes> + <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/> + <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB"> + <real key="value" value="20"/> + </userDefinedRuntimeAttribute> + </userDefinedRuntimeAttributes> + </view> + </subviews> + <viewLayoutGuide key="safeArea" id="fnl-2z-Ty3"/> + <color key="backgroundColor" systemColor="systemBackgroundColor"/> + <constraints> + <constraint firstItem="fnl-2z-Ty3" firstAttribute="bottom" secondItem="dEu-an-YSc" secondAttribute="bottom" id="0gd-hG-ZpU"/> + <constraint firstAttribute="trailing" secondItem="w5R-wz-EoA" secondAttribute="trailing" constant="21.5" id="4p7-pm-y3M"/> + <constraint firstItem="dEu-an-YSc" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" id="DAF-Fs-TWW"/> + <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="dEu-an-YSc" secondAttribute="trailing" id="FcC-Z3-JLu"/> + <constraint firstItem="pAC-sr-W8M" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="Mg9-tJ-uOW"/> + <constraint firstItem="pAC-sr-W8M" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" id="POx-rJ-5a8"/> + <constraint firstItem="w5R-wz-EoA" firstAttribute="centerX" secondItem="pAC-sr-W8M" secondAttribute="centerX" id="UOa-Td-Ybt"/> + <constraint firstItem="fnl-2z-Ty3" firstAttribute="bottom" secondItem="xML-KV-XeH" secondAttribute="bottom" id="Wqj-5J-rSc"/> + <constraint firstItem="w5R-wz-EoA" firstAttribute="bottom" secondItem="pAC-sr-W8M" secondAttribute="bottom" constant="-202" id="csA-GR-ldD"/> + <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="xML-KV-XeH" secondAttribute="trailing" id="dDM-rl-jM1"/> + <constraint firstItem="xML-KV-XeH" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" id="e6X-3Y-4Fq"/> + <constraint firstItem="xML-KV-XeH" firstAttribute="top" secondItem="w5R-wz-EoA" secondAttribute="bottom" constant="35" id="fQR-Zl-po0"/> + <constraint firstItem="w5R-wz-EoA" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="21.5" id="gdW-lE-qmG"/> + <constraint firstItem="dEu-an-YSc" firstAttribute="top" secondItem="pAC-sr-W8M" secondAttribute="bottom" id="oVX-Y1-Y68"/> + <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="pAC-sr-W8M" secondAttribute="trailing" id="tn6-ej-Iab"/> + <constraint firstItem="w5R-wz-EoA" firstAttribute="top" secondItem="Qa7-7e-0dj" secondAttribute="bottom" constant="31" id="wdH-CC-k2K"/> + <constraint firstItem="Qa7-7e-0dj" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="21" id="ygw-Ur-T4V"/> + </constraints> + <point key="canvasLocation" x="139.69465648854961" y="20.422535211267608"/> + </view> + </objects> + <resources> + <image name="bg_help" width="390" height="844"/> + <systemColor name="systemBackgroundColor"> + <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> + </systemColor> + </resources> +</document> diff --git a/XQMuse/Root/Me/VC/LevelVC.swift b/XQMuse/Root/Me/VC/LevelVC.swift new file mode 100644 index 0000000..1bad0b8 --- /dev/null +++ b/XQMuse/Root/Me/VC/LevelVC.swift @@ -0,0 +1,21 @@ +// +// LevelVC.swift +// XQMuse +// +// Created by 无故事王国 on 2024/8/21. +// + +import UIKit + +class LevelVC: BaseVC { + + @IBOutlet weak var progressView: UIProgressView! + override func viewDidLoad() { + super.viewDidLoad() + title = "当前等级" + + DispatchQueue.main.asyncAfter(delay: 2.0) { + self.progressView.setProgress(0.9, animated: true) + } + } +} diff --git a/XQMuse/Root/Me/VC/LevelVC.xib b/XQMuse/Root/Me/VC/LevelVC.xib new file mode 100644 index 0000000..a4faf55 --- /dev/null +++ b/XQMuse/Root/Me/VC/LevelVC.xib @@ -0,0 +1,128 @@ +<?xml version="1.0" encoding="UTF-8"?> +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES"> + <device id="retina6_12" orientation="portrait" appearance="light"/> + <dependencies> + <deployment identifier="iOS"/> + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/> + <capability name="System colors in document resources" minToolsVersion="11.0"/> + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> + </dependencies> + <objects> + <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="LevelVC" customModule="XQMuse" customModuleProvider="target"> + <connections> + <outlet property="progressView" destination="vEE-PO-MmZ" id="bFu-HY-IeG"/> + <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> + </connections> + </placeholder> + <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> + <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT"> + <rect key="frame" x="0.0" y="0.0" width="393" height="852"/> + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> + <subviews> + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="bg_voice_top" translatesAutoresizingMaskIntoConstraints="NO" id="5yn-MP-rMe"> + <rect key="frame" x="0.0" y="0.0" width="393" height="297"/> + </imageView> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="P4c-hh-W7E"> + <rect key="frame" x="14.666666666666657" y="113.66666666666666" width="364" height="113.66666666666666"/> + <subviews> + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="bg_level" translatesAutoresizingMaskIntoConstraints="NO" id="wUb-cZ-2ur"> + <rect key="frame" x="0.0" y="0.0" width="364" height="113.66666666666667"/> + </imageView> + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_vip_level" translatesAutoresizingMaskIntoConstraints="NO" id="h9t-tx-RMl"> + <rect key="frame" x="11" y="18.333333333333329" width="95.666666666666671" height="27.666666666666671"/> + </imageView> + <progressView opaque="NO" contentMode="scaleToFill" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="vEE-PO-MmZ"> + <rect key="frame" x="14.333333333333343" y="63.666666666666671" width="335" height="6"/> + <constraints> + <constraint firstAttribute="height" constant="6" id="jDs-ZU-Qbj"/> + </constraints> + <color key="progressTintColor" red="0.99215686274509807" green="0.792156862745098" blue="0.5607843137254902" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + <color key="trackTintColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> + <userDefinedRuntimeAttributes> + <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/> + <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB"> + <real key="value" value="3"/> + </userDefinedRuntimeAttribute> + </userDefinedRuntimeAttributes> + </progressView> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="当前等级 0/0" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="7JM-Vh-SUj"> + <rect key="frame" x="15" y="83.999999999999986" width="71.666666666666671" height="14.333333333333329"/> + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="12"/> + <color key="textColor" red="0.039215686274509803" green="0.25882352941176467" blue="0.074509803921568626" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + <nil key="highlightedColor"/> + </label> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="你离下一等级还差0经验值,加油!" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ZIY-z8-gex"> + <rect key="frame" x="178.66666666666669" y="83.999999999999986" width="170.66666666666669" height="14.333333333333329"/> + <fontDescription key="fontDescription" type="system" pointSize="11"/> + <color key="textColor" red="0.039215686274509803" green="0.25882352941176467" blue="0.074509803921568626" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + <nil key="highlightedColor"/> + </label> + </subviews> + <constraints> + <constraint firstItem="h9t-tx-RMl" firstAttribute="leading" secondItem="P4c-hh-W7E" secondAttribute="leading" constant="11" id="1QC-LM-DoB"/> + <constraint firstAttribute="trailing" secondItem="vEE-PO-MmZ" secondAttribute="trailing" constant="14.5" id="7xC-zh-Wmf"/> + <constraint firstItem="vEE-PO-MmZ" firstAttribute="top" secondItem="h9t-tx-RMl" secondAttribute="bottom" constant="17.5" id="9TW-se-ADa"/> + <constraint firstAttribute="trailing" secondItem="ZIY-z8-gex" secondAttribute="trailing" constant="14.5" id="Db1-Os-Fjo"/> + <constraint firstItem="7JM-Vh-SUj" firstAttribute="top" secondItem="vEE-PO-MmZ" secondAttribute="bottom" constant="14.5" id="Lyh-6U-58X"/> + <constraint firstAttribute="trailing" secondItem="wUb-cZ-2ur" secondAttribute="trailing" id="VAf-J2-9JC"/> + <constraint firstItem="wUb-cZ-2ur" firstAttribute="top" secondItem="P4c-hh-W7E" secondAttribute="top" id="aOD-mc-m5C"/> + <constraint firstItem="ZIY-z8-gex" firstAttribute="centerY" secondItem="7JM-Vh-SUj" secondAttribute="centerY" id="ee8-h4-Qg7"/> + <constraint firstItem="h9t-tx-RMl" firstAttribute="top" secondItem="P4c-hh-W7E" secondAttribute="top" constant="18.5" id="iNg-Q3-9f7"/> + <constraint firstItem="vEE-PO-MmZ" firstAttribute="leading" secondItem="P4c-hh-W7E" secondAttribute="leading" constant="14.5" id="k3a-AG-bT8"/> + <constraint firstAttribute="bottom" secondItem="wUb-cZ-2ur" secondAttribute="bottom" id="qQW-Bf-Nml"/> + <constraint firstItem="wUb-cZ-2ur" firstAttribute="leading" secondItem="P4c-hh-W7E" secondAttribute="leading" id="t6a-E5-S4B"/> + <constraint firstItem="7JM-Vh-SUj" firstAttribute="leading" secondItem="P4c-hh-W7E" secondAttribute="leading" constant="15" id="tha-dL-QzA"/> + </constraints> + </view> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="心泉・疗愈 升级规则" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="jLq-af-gey"> + <rect key="frame" x="46.666666666666657" y="250.66666666666663" width="300" height="40"/> + <color key="backgroundColor" red="0.54117647058823526" green="0.68235294117647061" blue="0.396078431372549" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + <constraints> + <constraint firstAttribute="height" constant="40" id="mdp-S2-3Cy"/> + </constraints> + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/> + <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + <nil key="highlightedColor"/> + <userDefinedRuntimeAttributes> + <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/> + <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB"> + <real key="value" value="20"/> + </userDefinedRuntimeAttribute> + </userDefinedRuntimeAttributes> + </label> + <wkWebView contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="fXz-og-D6V"> + <rect key="frame" x="0.0" y="300.66666666666674" width="393" height="507.33333333333326"/> + <wkWebViewConfiguration key="configuration"> + <audiovisualMediaTypes key="mediaTypesRequiringUserActionForPlayback" none="YES"/> + <wkPreferences key="preferences"/> + </wkWebViewConfiguration> + </wkWebView> + </subviews> + <color key="backgroundColor" systemColor="systemBackgroundColor"/> + <constraints> + <constraint firstAttribute="trailing" secondItem="P4c-hh-W7E" secondAttribute="trailing" constant="14.5" id="40G-KJ-cEI"/> + <constraint firstAttribute="trailing" secondItem="5yn-MP-rMe" secondAttribute="trailing" id="89h-ub-Wk6"/> + <constraint firstItem="P4c-hh-W7E" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="14.5" id="BsI-8v-PZe"/> + <constraint firstItem="jLq-af-gey" firstAttribute="top" secondItem="P4c-hh-W7E" secondAttribute="bottom" constant="23.5" id="E1H-kd-i3z"/> + <constraint firstItem="fXz-og-D6V" firstAttribute="top" secondItem="jLq-af-gey" secondAttribute="bottom" constant="10" id="G1c-2H-jZe"/> + <constraint firstItem="fXz-og-D6V" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="JF7-VG-Xhi"/> + <constraint firstItem="P4c-hh-W7E" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="topMargin" constant="54.5" id="TMT-qk-cwP"/> + <constraint firstItem="5yn-MP-rMe" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="UtB-W3-Lc9"/> + <constraint firstAttribute="bottomMargin" secondItem="fXz-og-D6V" secondAttribute="bottom" constant="10" id="Zdh-W8-f9z"/> + <constraint firstAttribute="trailing" secondItem="jLq-af-gey" secondAttribute="trailing" constant="46.5" id="aat-cU-8q6"/> + <constraint firstItem="5yn-MP-rMe" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="bYl-Ew-VbE"/> + <constraint firstItem="jLq-af-gey" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="46.5" id="uTL-51-fFy"/> + <constraint firstAttribute="trailing" secondItem="fXz-og-D6V" secondAttribute="trailing" id="yTZ-l3-NYg"/> + </constraints> + <point key="canvasLocation" x="139.69465648854961" y="20.422535211267608"/> + </view> + </objects> + <resources> + <image name="bg_level" width="364.66665649414062" height="113.66666412353516"/> + <image name="bg_voice_top" width="390" height="297"/> + <image name="icon_vip_level" width="95.666664123535156" height="27.666666030883789"/> + <systemColor name="systemBackgroundColor"> + <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> + </systemColor> + </resources> +</document> diff --git a/XQMuse/Root/Me/VC/LogoutAccountVC.swift b/XQMuse/Root/Me/VC/LogoutAccountVC.swift new file mode 100644 index 0000000..5516299 --- /dev/null +++ b/XQMuse/Root/Me/VC/LogoutAccountVC.swift @@ -0,0 +1,30 @@ +// +// LogoutAccountVC.swift +// XQMuse +// +// Created by 无故事王国 on 2024/8/21. +// + +import UIKit +import JQTools + +class LogoutAccountVC: BaseVC { + + @IBOutlet weak var btn_logout: UIButton! + + override func viewDidLoad() { + super.viewDidLoad() + title = "注销账号" + + } + @IBAction func completeAction(_ sender: UIButton) { + CommonAlertView.show(title: "提示", content: "已提交注销申请,请耐心等待平台审核", cancelStr: nil, completeStr: "确定", isSingle: true) { _ in + + } + } + + override func viewDidLayoutSubviews() { + super.viewDidLayoutSubviews() + btn_logout.jq_gradientNibColor(colorArr: [UIColor(hexStr: "#8EA47A").cgColor,UIColor(hexStr: "#AFCA98").cgColor], cornerRadius: 20) + } +} diff --git a/XQMuse/Root/Me/VC/LogoutAccountVC.xib b/XQMuse/Root/Me/VC/LogoutAccountVC.xib new file mode 100644 index 0000000..cdf8c93 --- /dev/null +++ b/XQMuse/Root/Me/VC/LogoutAccountVC.xib @@ -0,0 +1,96 @@ +<?xml version="1.0" encoding="UTF-8"?> +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES"> + <device id="retina6_12" orientation="portrait" appearance="light"/> + <dependencies> + <deployment identifier="iOS"/> + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/> + <capability name="Safe area layout guides" minToolsVersion="9.0"/> + <capability name="System colors in document resources" minToolsVersion="11.0"/> + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> + </dependencies> + <objects> + <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="LogoutAccountVC" customModule="XQMuse" customModuleProvider="target"> + <connections> + <outlet property="btn_logout" destination="4Xo-o1-mrz" id="DZ9-rg-p9P"/> + <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> + </connections> + </placeholder> + <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> + <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT"> + <rect key="frame" x="0.0" y="0.0" width="393" height="852"/> + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> + <subviews> + <stackView opaque="NO" contentMode="scaleToFill" distribution="fillEqually" spacing="28" translatesAutoresizingMaskIntoConstraints="NO" id="YEr-fo-buB"> + <rect key="frame" x="40" y="773" width="313" height="40"/> + <subviews> + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="r2b-7N-5dL"> + <rect key="frame" x="0.0" y="0.0" width="142.66666666666666" height="40"/> + <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/> + <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> + <state key="normal" title="我再想想"> + <color key="titleColor" red="0.54117647058823526" green="0.68235294117647061" blue="0.396078431372549" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + </state> + <userDefinedRuntimeAttributes> + <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/> + <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB"> + <real key="value" value="20"/> + </userDefinedRuntimeAttribute> + <userDefinedRuntimeAttribute type="number" keyPath="ld_borderWidthXIB"> + <real key="value" value="1"/> + </userDefinedRuntimeAttribute> + <userDefinedRuntimeAttribute type="color" keyPath="ld_borderColorXIB"> + <color key="value" red="0.54117647058823526" green="0.68235294117647061" blue="0.396078431372549" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + </userDefinedRuntimeAttribute> + </userDefinedRuntimeAttributes> + </button> + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="4Xo-o1-mrz"> + <rect key="frame" x="170.66666666666663" y="0.0" width="142.33333333333337" height="40"/> + <color key="backgroundColor" red="0.54117647059999996" green="0.68235294120000001" blue="0.39607843139999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/> + <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> + <state key="normal" title="确认注销"/> + <userDefinedRuntimeAttributes> + <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/> + <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB"> + <real key="value" value="20"/> + </userDefinedRuntimeAttribute> + </userDefinedRuntimeAttributes> + <connections> + <action selector="completeAction:" destination="-1" eventType="touchUpInside" id="ufB-XW-gDW"/> + </connections> + </button> + </subviews> + <constraints> + <constraint firstAttribute="height" constant="40" id="QVf-5k-qpm"/> + </constraints> + </stackView> + <wkWebView contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="d3j-kz-WXp"> + <rect key="frame" x="0.0" y="69" width="393" height="694"/> + <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> + <wkWebViewConfiguration key="configuration"> + <audiovisualMediaTypes key="mediaTypesRequiringUserActionForPlayback" none="YES"/> + <wkPreferences key="preferences"/> + </wkWebViewConfiguration> + </wkWebView> + </subviews> + <viewLayoutGuide key="safeArea" id="fnl-2z-Ty3"/> + <color key="backgroundColor" systemColor="systemBackgroundColor"/> + <constraints> + <constraint firstItem="d3j-kz-WXp" firstAttribute="top" secondItem="fnl-2z-Ty3" secondAttribute="top" constant="10" id="9Zc-hc-sWZ"/> + <constraint firstItem="fnl-2z-Ty3" firstAttribute="bottom" secondItem="YEr-fo-buB" secondAttribute="bottom" constant="5" id="LiR-gK-AIq"/> + <constraint firstItem="YEr-fo-buB" firstAttribute="top" secondItem="d3j-kz-WXp" secondAttribute="bottom" constant="10" id="OGD-qQ-2HX"/> + <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="d3j-kz-WXp" secondAttribute="trailing" id="ddL-19-v1S"/> + <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="YEr-fo-buB" secondAttribute="trailing" constant="40" id="lW9-H0-t1K"/> + <constraint firstItem="YEr-fo-buB" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="40" id="lid-pq-M31"/> + <constraint firstItem="d3j-kz-WXp" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" id="ueU-mZ-xe5"/> + </constraints> + <point key="canvasLocation" x="59" y="21"/> + </view> + </objects> + <resources> + <systemColor name="systemBackgroundColor"> + <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> + </systemColor> + </resources> +</document> diff --git a/XQMuse/Root/Me/VC/SettingVC.swift b/XQMuse/Root/Me/VC/SettingVC.swift index 1b8931d..2af4b14 100644 --- a/XQMuse/Root/Me/VC/SettingVC.swift +++ b/XQMuse/Root/Me/VC/SettingVC.swift @@ -19,4 +19,37 @@ super.setUI() view.backgroundColor = UIColor(hexString: "#fafafa") } + + @IBAction func bindPhoneAction(_ sender: TapBtn) { + let vc = BindAccountVC() + push(vc: vc) + } + + @IBAction func cancelCacheAction(_ sender: TapBtn) { + alertSuccess(msg: "清理成功") + } + + @IBAction func aboutUsAction(_ sender: TapBtn) { + let vc = WebVC() + vc.title = "关于心泉" + push(vc: vc) + } + + @IBAction func logoutAction(_ sender: TapBtn) { + let vc = LogoutAccountVC() + push(vc: vc) + } + + @IBAction func treatyAction(_ sender: TapBtn) { + let vc = TreatyVC() + push(vc: vc) + } + + @IBAction func exchangeAccountAction(_ sender: UIButton) { + + } + + @IBAction func quitAccountAction(_ sender: UIButton) { + + } } diff --git a/XQMuse/Root/Me/VC/SettingVC.xib b/XQMuse/Root/Me/VC/SettingVC.xib index 205fa03..3ddbb8e 100644 --- a/XQMuse/Root/Me/VC/SettingVC.xib +++ b/XQMuse/Root/Me/VC/SettingVC.xib @@ -22,7 +22,7 @@ <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="QyJ-S3-Hmq"> <rect key="frame" x="7" y="83" width="382" height="240"/> <subviews> - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="F30-OV-73c"> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="F30-OV-73c" customClass="TapBtn" customModule="XQMuse" customModuleProvider="target"> <rect key="frame" x="0.0" y="0.0" width="382" height="48"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="账号绑定" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="NDO-GB-voX"> @@ -53,8 +53,11 @@ <constraint firstAttribute="trailing" secondItem="I8q-9R-pke" secondAttribute="trailing" constant="16" id="mMp-Oj-OpF"/> <constraint firstAttribute="bottom" secondItem="yQ5-jF-vWH" secondAttribute="bottom" id="mpU-eI-rpZ"/> </constraints> + <connections> + <action selector="bindPhoneAction:" destination="-1" eventType="touchUpInside" id="U00-og-alQ"/> + </connections> </view> - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="2Hy-q7-hsc"> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="2Hy-q7-hsc" customClass="TapBtn" customModule="XQMuse" customModuleProvider="target"> <rect key="frame" x="0.0" y="48" width="382" height="48"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="清理缓存" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="jnR-cP-A56"> @@ -85,8 +88,11 @@ <constraint firstItem="bRU-cu-7uc" firstAttribute="leading" secondItem="2Hy-q7-hsc" secondAttribute="leading" constant="8.5" id="uvB-uh-Hgb"/> <constraint firstItem="jnR-cP-A56" firstAttribute="leading" secondItem="2Hy-q7-hsc" secondAttribute="leading" constant="11.5" id="xkw-68-pkU"/> </constraints> + <connections> + <action selector="cancelCacheAction:" destination="-1" eventType="touchUpInside" id="fNQ-Hs-6a1"/> + </connections> </view> - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="kId-7a-TaC"> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="kId-7a-TaC" customClass="TapBtn" customModule="XQMuse" customModuleProvider="target"> <rect key="frame" x="0.0" y="96" width="382" height="48"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="关于心泉" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="B6x-dn-wFm"> @@ -117,8 +123,11 @@ <constraint firstAttribute="height" constant="48" id="rqa-Zp-h0A"/> <constraint firstItem="B6x-dn-wFm" firstAttribute="leading" secondItem="kId-7a-TaC" secondAttribute="leading" constant="11.5" id="yFx-ud-44e"/> </constraints> + <connections> + <action selector="aboutUsAction:" destination="-1" eventType="touchUpInside" id="N3z-Cr-91f"/> + </connections> </view> - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ta8-pP-aEf"> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ta8-pP-aEf" customClass="TapBtn" customModule="XQMuse" customModuleProvider="target"> <rect key="frame" x="0.0" y="144" width="382" height="48"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="注销账号" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="tVJ-zS-iAQ"> @@ -149,8 +158,11 @@ <constraint firstItem="nd7-cz-feh" firstAttribute="leading" secondItem="ta8-pP-aEf" secondAttribute="leading" constant="8.5" id="ZCl-m7-E31"/> <constraint firstItem="tVJ-zS-iAQ" firstAttribute="leading" secondItem="ta8-pP-aEf" secondAttribute="leading" constant="11.5" id="eyP-KN-5Cf"/> </constraints> + <connections> + <action selector="logoutAction:" destination="-1" eventType="touchUpInside" id="coX-0d-mP8"/> + </connections> </view> - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="UKx-wx-JbB"> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="UKx-wx-JbB" customClass="TapBtn" customModule="XQMuse" customModuleProvider="target"> <rect key="frame" x="0.0" y="192" width="382" height="48"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="协议政策" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="bcv-yx-5hJ"> @@ -171,6 +183,9 @@ <constraint firstItem="bcv-yx-5hJ" firstAttribute="leading" secondItem="UKx-wx-JbB" secondAttribute="leading" constant="11.5" id="RmS-6i-r4k"/> <constraint firstItem="bcv-yx-5hJ" firstAttribute="centerY" secondItem="UKx-wx-JbB" secondAttribute="centerY" id="xNc-AU-9gy"/> </constraints> + <connections> + <action selector="treatyAction:" destination="-1" eventType="touchUpInside" id="g6x-Bw-JIQ"/> + </connections> </view> </subviews> <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> @@ -198,6 +213,9 @@ <real key="value" value="24.75"/> </userDefinedRuntimeAttribute> </userDefinedRuntimeAttributes> + <connections> + <action selector="exchangeAccountAction:" destination="-1" eventType="touchUpInside" id="wQ2-q4-WUK"/> + </connections> </button> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="7uR-yB-LEb"> <rect key="frame" x="7" y="391" width="382" height="49.666666666666686"/> @@ -216,6 +234,9 @@ <real key="value" value="24.75"/> </userDefinedRuntimeAttribute> </userDefinedRuntimeAttributes> + <connections> + <action selector="quitAccountAction:" destination="-1" eventType="touchUpInside" id="1BR-gv-y36"/> + </connections> </button> </subviews> <viewLayoutGuide key="safeArea" id="fnl-2z-Ty3"/> diff --git a/XQMuse/Root/Me/VC/StudyListVC.swift b/XQMuse/Root/Me/VC/StudyListVC.swift index f14eecf..d1fb958 100644 --- a/XQMuse/Root/Me/VC/StudyListVC.swift +++ b/XQMuse/Root/Me/VC/StudyListVC.swift @@ -30,7 +30,8 @@ } @IBAction func questionAction(_ sender: QMUIButton) { - + let vc = HelpCenterVC() + push(vc: vc) } } diff --git a/XQMuse/Root/Me/VC/TreatyVC.swift b/XQMuse/Root/Me/VC/TreatyVC.swift new file mode 100644 index 0000000..08fad80 --- /dev/null +++ b/XQMuse/Root/Me/VC/TreatyVC.swift @@ -0,0 +1,98 @@ +// +// TreatyVC.swift +// XQMuse +// +// Created by 无故事王国 on 2024/8/21. +// + +import UIKit +import SPPageMenu +import FFPage + +class TreatyVC: BaseVC { + + private(set) var pageMenu:SPPageMenu = { + let pageMenu = SPPageMenu(frame: .zero, trackerStyle: .line) + // 追踪线 + pageMenu.trackerWidth = 12 + pageMenu.setTrackerHeight(2, cornerRadius:1) + pageMenu.trackerFollowingMode = .always + pageMenu.contentInset = UIEdgeInsets(top: 0, left: 19.5, bottom: 5, right: 19.5) + pageMenu.setItems(["用户注册协议","APP隐私协议"], selectedItemIndex: 0) + pageMenu.backgroundColor = UIColor(hexString: "#F0F0F0") + pageMenu.tracker.backgroundColor = UIColor(hexString: "#8AAE65") + pageMenu.backgroundColor = .white + + // 分割线 + pageMenu.dividingLine.backgroundColor = UIColor(hexString: "#D4D4D4") + pageMenu.dividingLineHeight = 0.4 + + // item + pageMenu.spacing = 27.0 + pageMenu.permutationWay = .notScrollAdaptContent + + // 字体 + pageMenu.selectedItemTitleFont = Def_SourceHanSansCN_Regular(fontSize: 14) + pageMenu.unSelectedItemTitleFont = Def_SourceHanSansCN_Regular(fontSize: 14) + // 颜色 + pageMenu.selectedItemTitleColor = UIColor(hexStr: "#8AAE65") + pageMenu.unSelectedItemTitleColor = .black.withAlphaComponent(0.6) + return pageMenu + }() + + lazy var pageViewController:FFPageViewController = { + let pageVC = FFPageViewController() + pageVC.view.backgroundColor = .clear + pageVC.scrollview.backgroundColor = .clear + + pageVC.scrollview.bounces = false + return pageVC + }() + + override func viewDidLoad() { + super.viewDidLoad() + title = "协议政策" + + } + + override func setUI() { + super.setUI() + pageMenu.delegate = self + + view.addSubview(pageMenu) + pageMenu.snp.makeConstraints { make in + make.left.right.equalToSuperview() + make.height.equalTo(44) + make.top.equalTo(self.view.safeAreaLayoutGuide.snp.top) + } + view.addSubview(pageViewController.view) + pageViewController.view.backgroundColor = .clear + pageViewController.delegate = self + pageViewController.view.snp.makeConstraints { make in + make.top.equalTo(pageMenu.snp.bottom) + make.left.right.bottom.equalToSuperview() + } + } +} + +extension TreatyVC:SPPageMenuDelegate{ + func pageMenu(_ pageMenu: SPPageMenu, itemSelectedAt index: Int) { + pageViewController.scroll(toPage: index, animation: true) + } +} + + +extension TreatyVC:FFPageViewControllerDelegate{ + + func pageViewController(_ pageViewController: FFPageViewController, currentPageChanged currentPage: Int) { + pageMenu.selectedItemIndex = currentPage + } + + func totalPagesOfpageViewController(_ pageViewConteoller: FFPageViewController) -> UInt { + return 2 + } + + func pageViewController(_ pageViewConteoller: FFPageViewController, controllerForPage page: Int) -> UIViewController { + return WebVC(url: "https://www.baidu.com") + } +} diff --git a/XQMuse/Root/Me/VC/WalletRechargeVC.swift b/XQMuse/Root/Me/VC/WalletRechargeVC.swift new file mode 100644 index 0000000..838b141 --- /dev/null +++ b/XQMuse/Root/Me/VC/WalletRechargeVC.swift @@ -0,0 +1,24 @@ +// +// WalletRechargeVC.swift +// XQMuse +// +// Created by 无故事王国 on 2024/8/21. +// + +import UIKit + +class WalletRechargeVC: BaseVC { + + @IBOutlet weak var btn_handle: UIButton! + override func viewDidLoad() { + super.viewDidLoad() + title = "冥愈币充值" + + } + + + override func setUI() { + view.backgroundColor = UIColor(hexString: "f6f6f6") + btn_handle.localGradientColor(cornerRadius: 20) + } +} diff --git a/XQMuse/Root/Me/VC/WalletRechargeVC.xib b/XQMuse/Root/Me/VC/WalletRechargeVC.xib new file mode 100644 index 0000000..16ccdbd --- /dev/null +++ b/XQMuse/Root/Me/VC/WalletRechargeVC.xib @@ -0,0 +1,97 @@ +<?xml version="1.0" encoding="UTF-8"?> +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES"> + <device id="retina6_12" orientation="portrait" appearance="light"/> + <dependencies> + <deployment identifier="iOS"/> + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/> + <capability name="Safe area layout guides" minToolsVersion="9.0"/> + <capability name="System colors in document resources" minToolsVersion="11.0"/> + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> + </dependencies> + <objects> + <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="WalletRechargeVC" customModule="XQMuse" customModuleProvider="target"> + <connections> + <outlet property="btn_handle" destination="dho-ek-UFQ" id="iQC-VU-0Zr"/> + <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> + </connections> + </placeholder> + <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> + <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT"> + <rect key="frame" x="0.0" y="0.0" width="393" height="852"/> + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> + <subviews> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Ok4-Yz-gOY"> + <rect key="frame" x="14" y="68" width="365" height="141"/> + <subviews> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="充值金额" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="nAx-8V-3yC"> + <rect key="frame" x="10.000000000000004" y="13" width="57.333333333333343" height="17"/> + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/> + <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.59999999999999998" colorSpace="custom" customColorSpace="sRGB"/> + <nil key="highlightedColor"/> + </label> + <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" dataMode="none" translatesAutoresizingMaskIntoConstraints="NO" id="dtD-pA-jk2"> + <rect key="frame" x="0.0" y="58" width="365" height="50"/> + <color key="backgroundColor" systemColor="systemBackgroundColor"/> + <constraints> + <constraint firstAttribute="height" constant="50" id="bd9-0q-BAP"/> + </constraints> + <collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="10" minimumInteritemSpacing="10" id="Cco-HP-q4Y"> + <size key="itemSize" width="128" height="128"/> + <size key="headerReferenceSize" width="0.0" height="0.0"/> + <size key="footerReferenceSize" width="0.0" height="0.0"/> + <inset key="sectionInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/> + </collectionViewFlowLayout> + </collectionView> + </subviews> + <color key="backgroundColor" systemColor="systemBackgroundColor"/> + <constraints> + <constraint firstItem="nAx-8V-3yC" firstAttribute="leading" secondItem="Ok4-Yz-gOY" secondAttribute="leading" constant="10" id="1Dh-E8-vyT"/> + <constraint firstItem="dtD-pA-jk2" firstAttribute="top" secondItem="nAx-8V-3yC" secondAttribute="bottom" constant="28" id="4E4-or-gJ7"/> + <constraint firstAttribute="bottom" secondItem="dtD-pA-jk2" secondAttribute="bottom" constant="33" id="Ndh-eA-Y0R"/> + <constraint firstItem="nAx-8V-3yC" firstAttribute="top" secondItem="Ok4-Yz-gOY" secondAttribute="top" constant="13" id="WYJ-dl-1sf"/> + <constraint firstAttribute="trailing" secondItem="dtD-pA-jk2" secondAttribute="trailing" id="nvj-jM-GAI"/> + <constraint firstItem="dtD-pA-jk2" firstAttribute="leading" secondItem="Ok4-Yz-gOY" secondAttribute="leading" id="tIv-aS-XcX"/> + </constraints> + <userDefinedRuntimeAttributes> + <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/> + <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB"> + <real key="value" value="10"/> + </userDefinedRuntimeAttribute> + </userDefinedRuntimeAttributes> + </view> + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="dho-ek-UFQ"> + <rect key="frame" x="45" y="269" width="303" height="40"/> + <color key="backgroundColor" red="0.54117647059999996" green="0.68235294120000001" blue="0.39607843139999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + <constraints> + <constraint firstAttribute="height" constant="40" id="4UX-8H-LKn"/> + </constraints> + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="15"/> + <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> + <state key="normal" title="确认充值"/> + <userDefinedRuntimeAttributes> + <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/> + <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB"> + <real key="value" value="20"/> + </userDefinedRuntimeAttribute> + </userDefinedRuntimeAttributes> + </button> + </subviews> + <viewLayoutGuide key="safeArea" id="fnl-2z-Ty3"/> + <color key="backgroundColor" systemColor="systemBackgroundColor"/> + <constraints> + <constraint firstItem="Ok4-Yz-gOY" firstAttribute="top" secondItem="fnl-2z-Ty3" secondAttribute="top" constant="9" id="10y-6E-fB3"/> + <constraint firstItem="dho-ek-UFQ" firstAttribute="top" secondItem="Ok4-Yz-gOY" secondAttribute="bottom" constant="60" id="9fP-sd-mfR"/> + <constraint firstItem="Ok4-Yz-gOY" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="14" id="FPS-mE-2rl"/> + <constraint firstItem="dho-ek-UFQ" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="45" id="QJ6-pf-eSf"/> + <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="dho-ek-UFQ" secondAttribute="trailing" constant="45" id="azm-t3-fHr"/> + <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="Ok4-Yz-gOY" secondAttribute="trailing" constant="14" id="zDh-wQ-hh2"/> + </constraints> + <point key="canvasLocation" x="58.778625954198468" y="20.422535211267608"/> + </view> + </objects> + <resources> + <systemColor name="systemBackgroundColor"> + <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> + </systemColor> + </resources> +</document> diff --git a/XQMuse/Root/Me/VC/WalletVC.swift b/XQMuse/Root/Me/VC/WalletVC.swift new file mode 100644 index 0000000..031707b --- /dev/null +++ b/XQMuse/Root/Me/VC/WalletVC.swift @@ -0,0 +1,29 @@ +// +// WalletVC.swift +// XQMuse +// +// Created by 无故事王国 on 2024/8/21. +// + +import UIKit + +class WalletVC: BaseVC { + + override func viewDidLoad() { + super.viewDidLoad() + title = "钱包" + } + + override func setUI() { + view.backgroundColor = UIColor(hexString: "#fafafa") + } + + @IBAction func withdrawAction(_ sender: UIButton) { + let vc = BankWithdrawVC() + push(vc: vc) + } + @IBAction func recharegeAction(_ sender: UIButton) { + let vc = WalletRechargeVC() + push(vc: vc) + } +} diff --git a/XQMuse/Root/Me/VC/WalletVC.xib b/XQMuse/Root/Me/VC/WalletVC.xib new file mode 100644 index 0000000..5bfa300 --- /dev/null +++ b/XQMuse/Root/Me/VC/WalletVC.xib @@ -0,0 +1,287 @@ +<?xml version="1.0" encoding="UTF-8"?> +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES"> + <device id="retina6_12" orientation="portrait" appearance="light"/> + <dependencies> + <deployment identifier="iOS"/> + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/> + <capability name="Safe area layout guides" minToolsVersion="9.0"/> + <capability name="System colors in document resources" minToolsVersion="11.0"/> + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> + </dependencies> + <objects> + <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="WalletVC" customModule="XQMuse" customModuleProvider="target"> + <connections> + <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> + </connections> + </placeholder> + <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> + <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT"> + <rect key="frame" x="0.0" y="0.0" width="393" height="852"/> + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> + <subviews> + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="bg_voice_top" translatesAutoresizingMaskIntoConstraints="NO" id="YLf-DI-Qac"> + <rect key="frame" x="0.0" y="0.0" width="393" height="297"/> + </imageView> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="KW9-Cu-mZr"> + <rect key="frame" x="0.0" y="114" width="393" height="260"/> + <subviews> + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="bg_wallet" translatesAutoresizingMaskIntoConstraints="NO" id="Mnw-W1-t6B"> + <rect key="frame" x="0.0" y="0.0" width="393" height="260"/> + </imageView> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="可用余额(元)" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="1hb-Gu-i11"> + <rect key="frame" x="45.000000000000007" y="27.000000000000004" width="95.666666666666686" height="14.666666666666668"/> + <constraints> + <constraint firstAttribute="height" constant="14.5" id="RjS-4t-g8T"/> + </constraints> + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="15"/> + <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + <nil key="highlightedColor"/> + </label> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ytR-o7-C2p"> + <rect key="frame" x="45" y="61" width="26.666666666666671" height="30"/> + <constraints> + <constraint firstAttribute="height" constant="30" id="xUB-51-NIU"/> + </constraints> + <fontDescription key="fontDescription" type="boldSystem" pointSize="40"/> + <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + <nil key="highlightedColor"/> + </label> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="充值(冥愈币)" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="bTT-6A-oeC"> + <rect key="frame" x="44.999999999999993" y="123.00000000000001" width="76.333333333333314" height="11.666666666666671"/> + <constraints> + <constraint firstAttribute="height" constant="11.5" id="yb2-0Y-fpK"/> + </constraints> + <fontDescription key="fontDescription" type="system" pointSize="12"/> + <nil key="textColor"/> + <nil key="highlightedColor"/> + </label> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="收益(元)" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="2Wj-Qo-uKd"> + <rect key="frame" x="228.33333333333334" y="123.00000000000001" width="51.666666666666657" height="11.666666666666671"/> + <constraints> + <constraint firstAttribute="height" constant="11.5" id="WAM-OA-pHr"/> + </constraints> + <fontDescription key="fontDescription" type="system" pointSize="12"/> + <nil key="textColor"/> + <nil key="highlightedColor"/> + </label> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="RPE-c0-yYK"> + <rect key="frame" x="45" y="143.66666666666669" width="16" height="28.666666666666657"/> + <fontDescription key="fontDescription" type="boldSystem" pointSize="24"/> + <nil key="textColor"/> + <nil key="highlightedColor"/> + </label> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="0xP-OZ-ZWR"> + <rect key="frame" x="228.33333333333334" y="143.66666666666669" width="16" height="28.666666666666657"/> + <fontDescription key="fontDescription" type="boldSystem" pointSize="24"/> + <nil key="textColor"/> + <nil key="highlightedColor"/> + </label> + <stackView opaque="NO" contentMode="scaleToFill" distribution="fillEqually" spacing="12.5" translatesAutoresizingMaskIntoConstraints="NO" id="ZnL-wn-1sN"> + <rect key="frame" x="28" y="189" width="337" height="49"/> + <subviews> + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="1fa-be-bVw"> + <rect key="frame" x="0.0" y="0.0" width="162.33333333333334" height="49"/> + <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="18"/> + <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> + <state key="normal" title="提现"> + <color key="titleColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + </state> + <userDefinedRuntimeAttributes> + <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/> + <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB"> + <real key="value" value="24.5"/> + </userDefinedRuntimeAttribute> + </userDefinedRuntimeAttributes> + <connections> + <action selector="withdrawAction:" destination="-1" eventType="touchUpInside" id="Tk2-iT-wdF"/> + </connections> + </button> + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="HHE-qz-hlk"> + <rect key="frame" x="175" y="0.0" width="162" height="49"/> + <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="18"/> + <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> + <state key="normal" title="充值"> + <color key="titleColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + </state> + <userDefinedRuntimeAttributes> + <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/> + <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB"> + <real key="value" value="24.5"/> + </userDefinedRuntimeAttribute> + </userDefinedRuntimeAttributes> + <connections> + <action selector="recharegeAction:" destination="-1" eventType="touchUpInside" id="Bgj-IC-kFc"/> + </connections> + </button> + </subviews> + <constraints> + <constraint firstAttribute="height" constant="49" id="vFY-rp-CZS"/> + </constraints> + </stackView> + </subviews> + <constraints> + <constraint firstItem="RPE-c0-yYK" firstAttribute="leading" secondItem="bTT-6A-oeC" secondAttribute="leading" id="1Eh-CW-81b"/> + <constraint firstAttribute="bottom" secondItem="ZnL-wn-1sN" secondAttribute="bottom" constant="22" id="2YD-3d-ezA"/> + <constraint firstItem="bTT-6A-oeC" firstAttribute="leading" secondItem="1hb-Gu-i11" secondAttribute="leading" id="6Za-ai-Z8R"/> + <constraint firstItem="0xP-OZ-ZWR" firstAttribute="leading" secondItem="2Wj-Qo-uKd" secondAttribute="leading" id="72f-tZ-utq"/> + <constraint firstItem="1hb-Gu-i11" firstAttribute="leading" secondItem="KW9-Cu-mZr" secondAttribute="leading" constant="45" id="8NB-M1-U1K"/> + <constraint firstAttribute="trailing" secondItem="Mnw-W1-t6B" secondAttribute="trailing" id="FXZ-Jy-cvW"/> + <constraint firstItem="bTT-6A-oeC" firstAttribute="top" secondItem="ytR-o7-C2p" secondAttribute="bottom" constant="32" id="GMQ-8T-uug"/> + <constraint firstAttribute="bottom" secondItem="Mnw-W1-t6B" secondAttribute="bottom" id="PcJ-m8-Jlz"/> + <constraint firstItem="ytR-o7-C2p" firstAttribute="leading" secondItem="KW9-Cu-mZr" secondAttribute="leading" constant="45" id="Qri-Sl-Foa"/> + <constraint firstAttribute="trailing" secondItem="ZnL-wn-1sN" secondAttribute="trailing" constant="28" id="V81-n1-Bbn"/> + <constraint firstItem="RPE-c0-yYK" firstAttribute="top" secondItem="bTT-6A-oeC" secondAttribute="bottom" constant="9" id="XVg-Cc-huj"/> + <constraint firstItem="Mnw-W1-t6B" firstAttribute="leading" secondItem="KW9-Cu-mZr" secondAttribute="leading" id="YOr-VI-K7v"/> + <constraint firstItem="ZnL-wn-1sN" firstAttribute="leading" secondItem="KW9-Cu-mZr" secondAttribute="leading" constant="28" id="Ysd-wz-AY4"/> + <constraint firstItem="Mnw-W1-t6B" firstAttribute="top" secondItem="KW9-Cu-mZr" secondAttribute="top" id="ccW-W7-2rs"/> + <constraint firstItem="0xP-OZ-ZWR" firstAttribute="centerY" secondItem="RPE-c0-yYK" secondAttribute="centerY" id="ds8-AI-N3a"/> + <constraint firstItem="ytR-o7-C2p" firstAttribute="top" secondItem="1hb-Gu-i11" secondAttribute="bottom" constant="19.5" id="eL8-lf-wW1"/> + <constraint firstItem="2Wj-Qo-uKd" firstAttribute="centerY" secondItem="bTT-6A-oeC" secondAttribute="centerY" id="nt7-iQ-KM7"/> + <constraint firstAttribute="trailing" secondItem="2Wj-Qo-uKd" secondAttribute="trailing" constant="113" id="vDo-cj-vR3"/> + <constraint firstItem="1hb-Gu-i11" firstAttribute="top" secondItem="KW9-Cu-mZr" secondAttribute="top" constant="27" id="wjx-0a-bgI"/> + </constraints> + </view> + <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="d4r-tq-ZJ0"> + <rect key="frame" x="16" y="382" width="361" height="102"/> + <subviews> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="n8v-Zl-Su5"> + <rect key="frame" x="0.0" y="0.0" width="361" height="51"/> + <subviews> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="CTT-vC-tUN"> + <rect key="frame" x="0.0" y="50.666666666666686" width="361" height="0.3333333333333357"/> + <color key="backgroundColor" red="0.93333333333333335" green="0.93333333333333335" blue="0.93333333333333335" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + <constraints> + <constraint firstAttribute="height" constant="0.5" id="X1M-Na-Jo4"/> + </constraints> + </view> + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_coin" translatesAutoresizingMaskIntoConstraints="NO" id="vao-0m-YYq"> + <rect key="frame" x="16" y="17.666666666666686" width="15.666666666666664" height="15.666666666666664"/> + </imageView> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="余额明细" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Irv-xl-Q2e"> + <rect key="frame" x="41.666666666666657" y="17.666666666666686" width="53.333333333333343" height="15.666666666666664"/> + <fontDescription key="fontDescription" type="system" pointSize="13"/> + <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + <nil key="highlightedColor"/> + </label> + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_more" translatesAutoresizingMaskIntoConstraints="NO" id="ENG-Pn-f6h"> + <rect key="frame" x="336" y="20.333333333333314" width="6" height="10.666666666666664"/> + </imageView> + </subviews> + <constraints> + <constraint firstItem="CTT-vC-tUN" firstAttribute="leading" secondItem="n8v-Zl-Su5" secondAttribute="leading" id="4xI-Pt-g3V"/> + <constraint firstAttribute="height" constant="51" id="8OS-KN-Iq7"/> + <constraint firstAttribute="trailing" secondItem="CTT-vC-tUN" secondAttribute="trailing" id="OX7-bc-DUo"/> + <constraint firstItem="vao-0m-YYq" firstAttribute="centerY" secondItem="n8v-Zl-Su5" secondAttribute="centerY" id="Pum-YL-H5q"/> + <constraint firstItem="vao-0m-YYq" firstAttribute="leading" secondItem="n8v-Zl-Su5" secondAttribute="leading" constant="16" id="j9F-fC-kw2"/> + <constraint firstAttribute="bottom" secondItem="CTT-vC-tUN" secondAttribute="bottom" id="jMC-mI-kF3"/> + <constraint firstItem="Irv-xl-Q2e" firstAttribute="centerY" secondItem="vao-0m-YYq" secondAttribute="centerY" id="kfr-Nb-t2D"/> + <constraint firstAttribute="trailing" secondItem="ENG-Pn-f6h" secondAttribute="trailing" constant="19" id="scM-YB-3iJ"/> + <constraint firstItem="ENG-Pn-f6h" firstAttribute="centerY" secondItem="n8v-Zl-Su5" secondAttribute="centerY" id="xls-qW-7T6"/> + <constraint firstItem="Irv-xl-Q2e" firstAttribute="leading" secondItem="vao-0m-YYq" secondAttribute="trailing" constant="10" id="yDc-Lz-o7V"/> + </constraints> + </view> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="qMJ-nq-nHL"> + <rect key="frame" x="0.0" y="51" width="361" height="51"/> + <subviews> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="phv-ve-Q3R"> + <rect key="frame" x="0.0" y="50.666666666666686" width="361" height="0.3333333333333357"/> + <color key="backgroundColor" red="0.93333333330000001" green="0.93333333330000001" blue="0.93333333330000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + <constraints> + <constraint firstAttribute="height" constant="0.5" id="sSZ-oa-ZN3"/> + </constraints> + </view> + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_like" translatesAutoresizingMaskIntoConstraints="NO" id="J7r-og-biD"> + <rect key="frame" x="16" y="18.666666666666686" width="14.666666666666664" height="13.666666666666664"/> + </imageView> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="推荐名单" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ibw-8k-fbD"> + <rect key="frame" x="40.666666666666657" y="17.666666666666686" width="53.333333333333343" height="15.666666666666664"/> + <fontDescription key="fontDescription" type="system" pointSize="13"/> + <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + <nil key="highlightedColor"/> + </label> + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_more" translatesAutoresizingMaskIntoConstraints="NO" id="VLy-d2-kWx"> + <rect key="frame" x="336" y="20.333333333333314" width="6" height="10.666666666666664"/> + </imageView> + </subviews> + <constraints> + <constraint firstItem="J7r-og-biD" firstAttribute="leading" secondItem="qMJ-nq-nHL" secondAttribute="leading" constant="16" id="3cQ-eG-kD9"/> + <constraint firstItem="ibw-8k-fbD" firstAttribute="leading" secondItem="J7r-og-biD" secondAttribute="trailing" constant="10" id="3pk-Oz-TRG"/> + <constraint firstAttribute="height" constant="51" id="4lX-LV-EgP"/> + <constraint firstItem="phv-ve-Q3R" firstAttribute="leading" secondItem="qMJ-nq-nHL" secondAttribute="leading" id="OAQ-pI-vdb"/> + <constraint firstItem="ibw-8k-fbD" firstAttribute="centerY" secondItem="J7r-og-biD" secondAttribute="centerY" id="Td2-uz-YwG"/> + <constraint firstAttribute="trailing" secondItem="VLy-d2-kWx" secondAttribute="trailing" constant="19" id="U0t-yy-ID3"/> + <constraint firstAttribute="bottom" secondItem="phv-ve-Q3R" secondAttribute="bottom" id="XAe-Ze-bP7"/> + <constraint firstItem="VLy-d2-kWx" firstAttribute="centerY" secondItem="qMJ-nq-nHL" secondAttribute="centerY" id="ZgT-J8-R9N"/> + <constraint firstAttribute="trailing" secondItem="phv-ve-Q3R" secondAttribute="trailing" id="eTh-bT-tcn"/> + <constraint firstItem="J7r-og-biD" firstAttribute="centerY" secondItem="qMJ-nq-nHL" secondAttribute="centerY" id="l80-3F-Xjw"/> + </constraints> + </view> + </subviews> + </stackView> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="rlo-Ro-eiy"> + <rect key="frame" x="14.666666666666657" y="519.66666666666663" width="364" height="66.333333333333371"/> + <subviews> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="推荐心泉疗愈给好友" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="XgZ-h6-scF"> + <rect key="frame" x="9.3333333333333357" y="25.333333333333375" width="119.66666666666666" height="15.666666666666668"/> + <fontDescription key="fontDescription" type="system" pointSize="13"/> + <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + <nil key="highlightedColor"/> + </label> + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="btn_sendGift" translatesAutoresizingMaskIntoConstraints="NO" id="qXC-0b-5WY"> + <rect key="frame" x="313.33333333333331" y="21.333333333333371" width="20.666666666666686" height="23.666666666666671"/> + </imageView> + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_more" translatesAutoresizingMaskIntoConstraints="NO" id="ob5-NP-f5y"> + <rect key="frame" x="349" y="27.666666666666746" width="6" height="10.666666666666668"/> + </imageView> + </subviews> + <color key="backgroundColor" systemColor="systemBackgroundColor"/> + <constraints> + <constraint firstItem="XgZ-h6-scF" firstAttribute="centerY" secondItem="rlo-Ro-eiy" secondAttribute="centerY" id="3qd-yK-9zs"/> + <constraint firstAttribute="trailing" secondItem="ob5-NP-f5y" secondAttribute="trailing" constant="9" id="Anp-wU-2jN"/> + <constraint firstItem="ob5-NP-f5y" firstAttribute="centerY" secondItem="rlo-Ro-eiy" secondAttribute="centerY" id="GSL-J5-uWI"/> + <constraint firstItem="qXC-0b-5WY" firstAttribute="centerY" secondItem="rlo-Ro-eiy" secondAttribute="centerY" id="Iuy-dN-KLr"/> + <constraint firstItem="XgZ-h6-scF" firstAttribute="leading" secondItem="rlo-Ro-eiy" secondAttribute="leading" constant="9.5" id="WEu-Jt-kap"/> + <constraint firstAttribute="height" constant="66.5" id="qNs-wV-K5C"/> + <constraint firstAttribute="trailing" secondItem="qXC-0b-5WY" secondAttribute="trailing" constant="30" id="sbG-Hl-kN3"/> + </constraints> + <userDefinedRuntimeAttributes> + <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/> + <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB"> + <real key="value" value="15"/> + </userDefinedRuntimeAttribute> + </userDefinedRuntimeAttributes> + </view> + </subviews> + <viewLayoutGuide key="safeArea" id="fnl-2z-Ty3"/> + <color key="backgroundColor" systemColor="systemBackgroundColor"/> + <constraints> + <constraint firstItem="d4r-tq-ZJ0" firstAttribute="top" secondItem="KW9-Cu-mZr" secondAttribute="bottom" constant="8" id="0eh-F9-8Gk"/> + <constraint firstItem="YLf-DI-Qac" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" id="8fh-Bk-03T"/> + <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="rlo-Ro-eiy" secondAttribute="trailing" constant="14.5" id="8yy-8k-olj"/> + <constraint firstItem="YLf-DI-Qac" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="EAo-wz-7IC"/> + <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="KW9-Cu-mZr" secondAttribute="trailing" id="PcZ-V2-diT"/> + <constraint firstItem="rlo-Ro-eiy" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="14.5" id="enX-zD-hrJ"/> + <constraint firstItem="KW9-Cu-mZr" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" id="lj7-Da-LR3"/> + <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="YLf-DI-Qac" secondAttribute="trailing" id="nJw-8K-jzB"/> + <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="d4r-tq-ZJ0" secondAttribute="trailing" constant="16" id="ock-wG-9ur"/> + <constraint firstItem="rlo-Ro-eiy" firstAttribute="top" secondItem="d4r-tq-ZJ0" secondAttribute="bottom" constant="35.5" id="srM-0i-jqr"/> + <constraint firstItem="d4r-tq-ZJ0" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="16" id="uwW-4R-9mn"/> + <constraint firstItem="KW9-Cu-mZr" firstAttribute="top" secondItem="fnl-2z-Ty3" secondAttribute="top" constant="55" id="yvr-8T-ZHb"/> + </constraints> + <point key="canvasLocation" x="139.69465648854961" y="20.422535211267608"/> + </view> + </objects> + <resources> + <image name="bg_voice_top" width="390" height="297"/> + <image name="bg_wallet" width="364.66665649414062" height="260"/> + <image name="btn_sendGift" width="20.666666030883789" height="23.666666030883789"/> + <image name="icon_coin" width="15.666666984558105" height="15.666666984558105"/> + <image name="icon_like" width="14.666666984558105" height="13.666666984558105"/> + <image name="icon_more" width="6" height="10.666666984558105"/> + <systemColor name="systemBackgroundColor"> + <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> + </systemColor> + </resources> +</document> diff --git a/XQMuse/Root/Other/View/CommonAlertView.swift b/XQMuse/Root/Other/View/CommonAlertView.swift new file mode 100644 index 0000000..94af98e --- /dev/null +++ b/XQMuse/Root/Other/View/CommonAlertView.swift @@ -0,0 +1,101 @@ +// +// CommonAlertView.swift +// WanPai +// +// Created by 杨锴 on 2023/6/7. +// + +import UIKit +import JQTools + +class CommonAlertView: UIView,JQNibView{ + + @IBOutlet weak var view_container: UIView! + @IBOutlet weak var label_title: UILabel! + @IBOutlet weak var label_content: UILabel! + @IBOutlet weak var btn_cancel: UIButton! + @IBOutlet weak var btn_complete: UIButton! + + private var title:String! + private var content:String! + private var clouse:((Bool)->Void)! + + override func awakeFromNib() { + super.awakeFromNib() + view_container.transform = .init(scaleX: 0.1, y: 0.1) + alpha = 0 + layoutIfNeeded() + } + + + static func show(title:String,content:String,cancelStr:String? = nil,completeStr:String? = nil,isSingle:Bool = false, clouse:@escaping (Bool)->Void){ + let alertView = CommonAlertView.jq_loadNibView() + alertView.label_title.text = title + alertView.label_content.text = content + alertView.btn_cancel.isHidden = isSingle + + + if cancelStr != nil{ + alertView.btn_cancel.setTitle(cancelStr!, for: .normal) + } + + if completeStr != nil{ + alertView.btn_complete.setTitle(completeStr!, for: .normal) + } + + + alertView.clouse = clouse + alertView.frame = sceneDelegate?.window?.frame ?? .zero + sceneDelegate?.window?.addSubview(alertView) + UIView.animate(withDuration: 0.4) { + alertView.view_container.transform = .init(scaleX: 1.0, y: 1.0) + alertView.alpha = 1 + } + alertView.layoutSubviews() + } + + static func show(title:String,attribute:NSMutableAttributedString,isSingle:Bool = false, clouse:@escaping (Bool)->Void){ + let alertView = CommonAlertView.jq_loadNibView() + alertView.label_title.text = title + alertView.btn_cancel.isHidden = isSingle + alertView.label_content.attributedText = attribute + alertView.clouse = clouse + alertView.frame = sceneDelegate?.window?.frame ?? .zero + sceneDelegate?.window?.addSubview(alertView) + UIView.animate(withDuration: 0.4) { + alertView.view_container.transform = .init(scaleX: 1.0, y: 1.0) + alertView.alpha = 1 + } + alertView.layoutSubviews() + } + + override func layoutSubviews() { + super.layoutSubviews() + btn_complete.jq_gradientNibColor(colorArr: [UIColor(hexStr: "#8EA47A").cgColor,UIColor(hexStr: "#AFCA98").cgColor], cornerRadius: 20) +// btn_complete.localGradientColor(cornerRadius: 20) + } + + + @IBAction func closeAction(_ sender: UIButton) { + UIView.animate(withDuration: 0.4) { + self.view_container.transform = .init(scaleX: 0.1, y: 0.1) + self.alpha = 0 + }completion: { _ in + self.clouse!(false) + self.removeFromSuperview() + } + } + + + + @IBAction func completeAction(_ sender: UIButton) { + UIView.animate(withDuration: 0.4) { + self.view_container.transform = .init(scaleX: 0.1, y: 0.1) + self.alpha = 0 + }completion: { _ in + self.clouse!(true) + self.removeFromSuperview() + } + } + +} diff --git a/XQMuse/Root/Other/View/CommonAlertView.xib b/XQMuse/Root/Other/View/CommonAlertView.xib new file mode 100644 index 0000000..e0be956 --- /dev/null +++ b/XQMuse/Root/Other/View/CommonAlertView.xib @@ -0,0 +1,128 @@ +<?xml version="1.0" encoding="UTF-8"?> +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES"> + <device id="retina6_12" orientation="portrait" appearance="light"/> + <dependencies> + <deployment identifier="iOS"/> + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/> + <capability name="Safe area layout guides" minToolsVersion="9.0"/> + <capability name="System colors in document resources" minToolsVersion="11.0"/> + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> + </dependencies> + <objects> + <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/> + <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> + <view contentMode="scaleToFill" id="iN0-l3-epB" customClass="CommonAlertView" customModule="XQMuse" customModuleProvider="target"> + <rect key="frame" x="0.0" y="0.0" width="393" height="852"/> + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> + <subviews> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="MnH-T0-9ye"> + <rect key="frame" x="45" y="328.66666666666669" width="303" height="220.00000000000006"/> + <subviews> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="--" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="8x2-bB-pNn"> + <rect key="frame" x="143.33333333333334" y="24" width="16.333333333333343" height="18"/> + <constraints> + <constraint firstAttribute="height" constant="18" id="l8v-Dr-xT5"/> + </constraints> + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="18"/> + <nil key="textColor"/> + <nil key="highlightedColor"/> + </label> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="raL-bN-qOz"> + <rect key="frame" x="30" y="85" width="243" height="20"/> + <constraints> + <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="20" id="hYQ-ML-EmM"/> + </constraints> + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/> + <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.58999999999999997" colorSpace="custom" customColorSpace="calibratedRGB"/> + <nil key="highlightedColor"/> + </label> + <stackView opaque="NO" contentMode="scaleToFill" distribution="fillEqually" spacing="10" translatesAutoresizingMaskIntoConstraints="NO" id="fy8-sq-PJ2"> + <rect key="frame" x="40" y="160" width="223" height="40"/> + <subviews> + <button hidden="YES" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="x3p-KY-6M2"> + <rect key="frame" x="0.0" y="0.0" width="0.0" height="40"/> + <color key="backgroundColor" red="0.75294117647058822" green="0.75294117647058822" blue="0.75294117647058822" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + <constraints> + <constraint firstAttribute="height" constant="40" id="OWJ-IA-1NL"/> + </constraints> + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/> + <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> + <state key="normal" title="取消"/> + <userDefinedRuntimeAttributes> + <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB"> + <real key="value" value="20"/> + </userDefinedRuntimeAttribute> + <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/> + </userDefinedRuntimeAttributes> + <connections> + <action selector="closeAction:" destination="iN0-l3-epB" eventType="touchUpInside" id="qjm-NM-7gd"/> + </connections> + </button> + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="LFA-NB-5g9"> + <rect key="frame" x="0.0" y="0.0" width="223" height="40"/> + <color key="backgroundColor" red="0.54117647059999996" green="0.68235294120000001" blue="0.39607843139999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + <constraints> + <constraint firstAttribute="height" constant="40" id="GQ8-9x-bGQ"/> + </constraints> + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/> + <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> + <state key="normal" title="确认"/> + <userDefinedRuntimeAttributes> + <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB"> + <real key="value" value="20"/> + </userDefinedRuntimeAttribute> + <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/> + </userDefinedRuntimeAttributes> + <connections> + <action selector="completeAction:" destination="iN0-l3-epB" eventType="touchUpInside" id="dBQ-CY-qOk"/> + </connections> + </button> + </subviews> + </stackView> + </subviews> + <color key="backgroundColor" systemColor="systemBackgroundColor"/> + <constraints> + <constraint firstItem="fy8-sq-PJ2" firstAttribute="centerX" secondItem="MnH-T0-9ye" secondAttribute="centerX" id="1Hg-jW-kxR"/> + <constraint firstAttribute="bottom" secondItem="fy8-sq-PJ2" secondAttribute="bottom" constant="20" id="A10-oV-IHK"/> + <constraint firstItem="fy8-sq-PJ2" firstAttribute="top" secondItem="raL-bN-qOz" secondAttribute="bottom" constant="55" id="Ar9-mL-jBv"/> + <constraint firstAttribute="trailing" secondItem="fy8-sq-PJ2" secondAttribute="trailing" constant="40" id="CKl-pv-K77"/> + <constraint firstAttribute="trailing" secondItem="raL-bN-qOz" secondAttribute="trailing" constant="30" id="T4d-qj-pFi"/> + <constraint firstItem="8x2-bB-pNn" firstAttribute="centerX" secondItem="MnH-T0-9ye" secondAttribute="centerX" id="cVP-So-X9I"/> + <constraint firstItem="raL-bN-qOz" firstAttribute="leading" secondItem="MnH-T0-9ye" secondAttribute="leading" constant="30" id="lDV-JW-sCh"/> + <constraint firstItem="8x2-bB-pNn" firstAttribute="top" secondItem="MnH-T0-9ye" secondAttribute="top" constant="24" id="mGE-YB-U7v"/> + <constraint firstItem="raL-bN-qOz" firstAttribute="top" secondItem="8x2-bB-pNn" secondAttribute="bottom" constant="43" id="oSb-O8-R6D"/> + <constraint firstItem="fy8-sq-PJ2" firstAttribute="leading" secondItem="MnH-T0-9ye" secondAttribute="leading" constant="40" id="yKt-aE-ake"/> + <constraint firstItem="raL-bN-qOz" firstAttribute="centerX" secondItem="MnH-T0-9ye" secondAttribute="centerX" id="ycu-Gg-hDl"/> + </constraints> + <userDefinedRuntimeAttributes> + <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/> + <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB"> + <real key="value" value="10"/> + </userDefinedRuntimeAttribute> + </userDefinedRuntimeAttributes> + </view> + </subviews> + <viewLayoutGuide key="safeArea" id="vUN-kp-3ea"/> + <color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.69999999999999996" colorSpace="custom" customColorSpace="sRGB"/> + <constraints> + <constraint firstItem="MnH-T0-9ye" firstAttribute="leading" secondItem="vUN-kp-3ea" secondAttribute="leading" constant="45" id="ABS-et-C1Y"/> + <constraint firstItem="vUN-kp-3ea" firstAttribute="trailing" secondItem="MnH-T0-9ye" secondAttribute="trailing" constant="45" id="bFi-tH-mLF"/> + <constraint firstItem="MnH-T0-9ye" firstAttribute="centerY" secondItem="vUN-kp-3ea" secondAttribute="centerY" id="nfR-kN-8UJ"/> + <constraint firstItem="MnH-T0-9ye" firstAttribute="centerX" secondItem="vUN-kp-3ea" secondAttribute="centerX" id="yAL-tj-KsX"/> + </constraints> + <connections> + <outlet property="btn_cancel" destination="x3p-KY-6M2" id="w1r-K8-3Ep"/> + <outlet property="btn_complete" destination="LFA-NB-5g9" id="ac1-Fq-hJo"/> + <outlet property="label_content" destination="raL-bN-qOz" id="Q9R-w7-I7r"/> + <outlet property="label_title" destination="8x2-bB-pNn" id="HQr-lE-rhB"/> + <outlet property="view_container" destination="MnH-T0-9ye" id="6dr-Ul-VK3"/> + </connections> + <point key="canvasLocation" x="-28.244274809160306" y="20.422535211267608"/> + </view> + </objects> + <resources> + <systemColor name="systemBackgroundColor"> + <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> + </systemColor> + </resources> +</document> diff --git a/XQMuse/Root/Other/View/IdCardView.swift b/XQMuse/Root/Other/View/IdCardView.swift new file mode 100644 index 0000000..7e7f9db --- /dev/null +++ b/XQMuse/Root/Other/View/IdCardView.swift @@ -0,0 +1,128 @@ +// +// IdCardView.swift +// XQMuse +// +// Created by 无故事王国 on 2024/8/21. +// + +import UIKit +class IDCardView: UIView { + + var box:Box<String>! + + private let VIEW_HEIGHT:Double = 200 + private let SafeInserts = UIApplication.shared.keyWindow?.safeAreaInsets ?? .zero + private var screenW = UIScreen.main.bounds.size.width + private var avgCellW:Double! + private var avgCellH:Double! + private var cellItems = ["1","2","3","4","5","6","7","8","9","X","0","Del"] + private var content:String = "" + private var btn_X:UIButton! + private var btn_Del:UIButton! + + override init(frame: CGRect) { + super.init(frame: frame) + + setUI() + box = Box() + } + + private func setUI(){ + avgCellW = screenW / 3.0 + avgCellH = VIEW_HEIGHT / 4.0 + frame = CGRect(center: .zero, size: CGSize(width: screenW, height: VIEW_HEIGHT + SafeInserts.bottom)) + backgroundColor = .white + + for (index,item) in cellItems.enumerated() { + let i = Double(index).truncatingRemainder(dividingBy: 3.0) + let j = floor(Double(index) / 3.0) + let btn = createButton(text: item, indexTag: index) + btn.frame = CGRect(x: i * avgCellW, y: j * avgCellH, width: avgCellW, height: avgCellH) + btn.layer.borderColor = UIColor.gray.withAlphaComponent(0.2).cgColor + btn.layer.borderWidth = 0.5 + btn.setTitleColor(.gray.withAlphaComponent(0.2), for: .disabled) + addSubview(btn) + } + } + + private func createButton(text:String,indexTag:Int)->UIButton{ + let btn = UIButton(type: .roundedRect) + if text == "Del"{ + if #available(iOS 13.0, *) { + btn.setImage(UIImage(systemName: "delete.left")?.withTintColor(.black), for: .normal) + } else { + btn.setTitle("Del", for: .normal) + } + }else{ + btn.setTitle(text, for: .normal) + } + btn.tag = 10 + indexTag + btn.titleLabel?.font = UIFont.systemFont(ofSize: 20, weight: .medium) + btn.setTitleColor(.black, for: .normal) + btn.addTarget(self, action: #selector(tapAction(_:)), for: .touchUpInside) + btn.setTitleColor(.gray, for: .highlighted) + + if text == "X"{ + btn_X = btn;btn_X.isEnabled = false + } + + if text == "Del"{ + btn_Del = btn + let longGesture = UILongPressGestureRecognizer(target: self, action: #selector(longGesture)) + btn_Del.addGestureRecognizer(longGesture) + } + + return btn + } + + @objc private func tapAction(_ btn:UIButton){ + guard let text = btn.titleLabel?.text else { + if !content.isEmpty{content.removeLast()} + box.value = content + btn_X.isEnabled = content.count == 17 + return + } + + if content.count <= 17{ + content.append(text) + } + btn_X.isEnabled = content.count == 17 + box.value = content + } + + @objc private func longGesture(_ gesture:UILongPressGestureRecognizer){ + if content.count > 0{ + content.removeLast() + box.value = content + } + + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } +} + +final class Box<T> { + // 声明一个别名 + typealias Listener = (T) -> Void + var listener: Listener? + + var value: T? { + didSet { + guard let v = value else { return } + listener?(v) + } + } + + init(_ value: T? = nil){ + self.value = value + } + + func bind(listener: Listener?) { + self.listener = listener + guard let v = value else { return } + listener?(v) + } +} + diff --git a/XQMuse/SceneDelegate.swift b/XQMuse/SceneDelegate.swift index 78438cd..16cc298 100644 --- a/XQMuse/SceneDelegate.swift +++ b/XQMuse/SceneDelegate.swift @@ -10,65 +10,69 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { - var window: UIWindow? + var window: UIWindow? - func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { - guard let windowScene = (scene as? UIWindowScene) else { return } - window = UIWindow(windowScene: windowScene) - window?.frame = windowScene.coordinateSpace.bounds + func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { + guard let windowScene = (scene as? UIWindowScene) else { return } + window = UIWindow(windowScene: windowScene) + window?.frame = windowScene.coordinateSpace.bounds -// if UserViewModel.getToken() != nil{ -// app.registerAndLoginSuccess() -// }else{ -// let loginNav = LoginNav(rootViewController: LoginVC()) -// window?.rootViewController = loginNav -// window?.makeKeyAndVisible() -// } + // if UserViewModel.getToken() != nil{ + // app.registerAndLoginSuccess() + // }else{ + // let loginNav = LoginNav(rootViewController: LoginVC()) + // window?.rootViewController = loginNav + // window?.makeKeyAndVisible() + // } - let tabbar = BaseTabBarVC() - window?.rootViewController = tabbar - window?.makeKeyAndVisible() - tabbar.selectedIndex = 0 + let tabbar = BaseTabBarVC() + window?.rootViewController = tabbar + window?.makeKeyAndVisible() + tabbar.selectedIndex = 0 - SVProgressHUD.setContainerView(window) - SVProgressHUD.setDefaultStyle(.dark) - SVProgressHUD.setDefaultMaskType(.custom) //禁止交互 - SVProgressHUD.setMinimumDismissTimeInterval(1.5) - SVProgressHUD.setMaximumDismissTimeInterval(30.0) + SVProgressHUD.setContainerView(window) + SVProgressHUD.setDefaultStyle(.dark) + SVProgressHUD.setDefaultMaskType(.custom) //禁止交互 + SVProgressHUD.setMinimumDismissTimeInterval(1.5) + SVProgressHUD.setMaximumDismissTimeInterval(30.0) - if #available(iOS 13.0, *) { - window?.overrideUserInterfaceStyle = .light - } - } + if #available(iOS 13.0, *) { + window?.overrideUserInterfaceStyle = .light + } + } - func sceneDidDisconnect(_ scene: UIScene) { - // Called as the scene is being released by the system. - // This occurs shortly after the scene enters the background, or when its session is discarded. - // Release any resources associated with this scene that can be re-created the next time the scene connects. - // The scene may re-connect later, as its session was not necessarily discarded (see `application:didDiscardSceneSessions` instead). - } + func needLogin(){ + + } - func sceneDidBecomeActive(_ scene: UIScene) { - // Called when the scene has moved from an inactive state to an active state. - // Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive. - } + func sceneDidDisconnect(_ scene: UIScene) { + // Called as the scene is being released by the system. + // This occurs shortly after the scene enters the background, or when its session is discarded. + // Release any resources associated with this scene that can be re-created the next time the scene connects. + // The scene may re-connect later, as its session was not necessarily discarded (see `application:didDiscardSceneSessions` instead). + } - func sceneWillResignActive(_ scene: UIScene) { - // Called when the scene will move from an active state to an inactive state. - // This may occur due to temporary interruptions (ex. an incoming phone call). - } + func sceneDidBecomeActive(_ scene: UIScene) { + // Called when the scene has moved from an inactive state to an active state. + // Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive. + } - func sceneWillEnterForeground(_ scene: UIScene) { - // Called as the scene transitions from the background to the foreground. - // Use this method to undo the changes made on entering the background. - } + func sceneWillResignActive(_ scene: UIScene) { + // Called when the scene will move from an active state to an inactive state. + // This may occur due to temporary interruptions (ex. an incoming phone call). + } - func sceneDidEnterBackground(_ scene: UIScene) { - // Called as the scene transitions from the foreground to the background. - // Use this method to save data, release shared resources, and store enough scene-specific state information - // to restore the scene back to its current state. - } + func sceneWillEnterForeground(_ scene: UIScene) { + // Called as the scene transitions from the background to the foreground. + // Use this method to undo the changes made on entering the background. + } + + func sceneDidEnterBackground(_ scene: UIScene) { + // Called as the scene transitions from the foreground to the background. + // Use this method to save data, release shared resources, and store enough scene-specific state information + // to restore the scene back to its current state. + } } -- Gitblit v1.7.1