WanPai.xcodeproj/project.pbxproj
@@ -8,6 +8,8 @@ /* Begin PBXBuildFile section */ 32D5FD87AB45829154125950 /* Pods_WanPai.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F12BCB644B5E0392E2BFF8C7 /* Pods_WanPai.framework */; }; 8D44E4F72A331DF800E7010E /* CourseDetailApplyVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D44E4F52A331DF800E7010E /* CourseDetailApplyVC.swift */; }; 8D44E4F82A331DF800E7010E /* CourseDetailApplyVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8D44E4F62A331DF800E7010E /* CourseDetailApplyVC.xib */; }; 8D4905A92A31A6EC00E38513 /* HomeCCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D4905A72A31A6EC00E38513 /* HomeCCell.swift */; }; 8D4905AA2A31A6EC00E38513 /* HomeCCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8D4905A82A31A6EC00E38513 /* HomeCCell.xib */; }; 8D4905AD2A31AE7100E38513 /* JoinMemberIntroduceVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D4905AB2A31AE7100E38513 /* JoinMemberIntroduceVC.swift */; }; @@ -22,6 +24,12 @@ 8D630BF92A31801300F0B7A8 /* SearchVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8D630BF72A31801300F0B7A8 /* SearchVC.xib */; }; 8D630BFB2A3180B000F0B7A8 /* BaseTabBarVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D630BFA2A3180B000F0B7A8 /* BaseTabBarVC.swift */; }; 8D667BF42A31C419005B02FB /* PaymentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D667BF32A31C419005B02FB /* PaymentView.swift */; }; 8D6D6AF22A32D6F800DCA2C6 /* CourseListVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D6D6AF02A32D6F800DCA2C6 /* CourseListVC.swift */; }; 8D6D6AF32A32D6F800DCA2C6 /* CourseListVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8D6D6AF12A32D6F800DCA2C6 /* CourseListVC.xib */; }; 8D7017892A3308DC00473C40 /* Common_1_TCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D7017872A3308DC00473C40 /* Common_1_TCell.swift */; }; 8D70178A2A3308DC00473C40 /* Common_1_TCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8D7017882A3308DC00473C40 /* Common_1_TCell.xib */; }; 8D70178D2A330E5700473C40 /* CourseDetailVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D70178B2A330E5700473C40 /* CourseDetailVC.swift */; }; 8D70178E2A330E5700473C40 /* CourseDetailVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8D70178C2A330E5700473C40 /* CourseDetailVC.xib */; }; 8D710F6D2A31897C0031E2D1 /* WaterFallFlowLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D710F6C2A31897C0031E2D1 /* WaterFallFlowLayout.swift */; }; 8D8400D22A2F1430003AF6A2 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D8400D12A2F1430003AF6A2 /* AppDelegate.swift */; }; 8D8400D42A2F1430003AF6A2 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D8400D32A2F1430003AF6A2 /* SceneDelegate.swift */; }; @@ -30,16 +38,26 @@ 8D8400DE2A2F1432003AF6A2 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8D8400DC2A2F1432003AF6A2 /* LaunchScreen.storyboard */; }; 8D8400E92A2F14A3003AF6A2 /* LoginVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D8400E72A2F14A3003AF6A2 /* LoginVC.swift */; }; 8D8400EA2A2F14A3003AF6A2 /* LoginVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8D8400E82A2F14A3003AF6A2 /* LoginVC.xib */; }; 8D86DE852A3307A400A754EF /* CourseSubTypeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D86DE842A3307A400A754EF /* CourseSubTypeView.swift */; }; 8D86DE872A3307B700A754EF /* CourseSubTypeView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8D86DE862A3307B700A754EF /* CourseSubTypeView.xib */; }; 8D8DEDED2A31D82100F2C7FA /* PaymentResultVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D8DEDEB2A31D82100F2C7FA /* PaymentResultVC.swift */; }; 8D8DEDEE2A31D82100F2C7FA /* PaymentResultVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8D8DEDEC2A31D82100F2C7FA /* PaymentResultVC.xib */; }; 8D8DEDF22A31DDC500F2C7FA /* CouponCCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D8DEDF02A31DDC500F2C7FA /* CouponCCell.swift */; }; 8D8DEDF32A31DDC500F2C7FA /* CouponCCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8D8DEDF12A31DDC500F2C7FA /* CouponCCell.xib */; }; 8DA51DF72A32BE270085F4BA /* Enums.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8DA51DF62A32BE270085F4BA /* Enums.swift */; }; 8DA51DFA2A32C6C10085F4BA /* StoresChooseView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8DA51DF92A32C6C10085F4BA /* StoresChooseView.swift */; }; 8DA51DFC2A32C6D00085F4BA /* StoresChooseView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8DA51DFB2A32C6D00085F4BA /* StoresChooseView.xib */; }; 8DAEB54A2A30593C00814766 /* BaseNav.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8DAEB5482A30593B00814766 /* BaseNav.swift */; }; 8DAEB54B2A30593C00814766 /* BaseVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8DAEB5492A30593C00814766 /* BaseVC.swift */; }; 8DAEB54E2A305A0100814766 /* Colors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8DAEB54D2A305A0100814766 /* Colors.swift */; }; 8DAEB5502A305AEF00814766 /* Def.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8DAEB54F2A305AEF00814766 /* Def.swift */; }; 8DAEB5522A305B2D00814766 /* Fronts.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8DAEB5512A305B2D00814766 /* Fronts.swift */; }; 8DD239AE2A32FC5100700DEB /* CourseTCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8DD239AC2A32FC5100700DEB /* CourseTCell.swift */; }; 8DD239AF2A32FC5100700DEB /* CourseTCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8DD239AD2A32FC5100700DEB /* CourseTCell.xib */; }; 8DF184402A3327EE0095687B /* Common_1_CCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8DF1843E2A3327EE0095687B /* Common_1_CCell.swift */; }; 8DF184412A3327EE0095687B /* Common_1_CCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8DF1843F2A3327EE0095687B /* Common_1_CCell.xib */; }; 8DF184442A332CCD0095687B /* StudentInfoTCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8DF184422A332CCD0095687B /* StudentInfoTCell.swift */; }; 8DF184452A332CCD0095687B /* StudentInfoTCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8DF184432A332CCD0095687B /* StudentInfoTCell.xib */; }; 8DFA9B762A316E9A00E99281 /* LoginRegOrForgotVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8DFA9B742A316E9A00E99281 /* LoginRegOrForgotVC.swift */; }; 8DFA9B772A316E9A00E99281 /* LoginRegOrForgotVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8DFA9B752A316E9A00E99281 /* LoginRegOrForgotVC.xib */; }; 8DFA9B852A3172BE00E99281 /* HomeVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8DFA9B832A3172BE00E99281 /* HomeVC.swift */; }; @@ -53,6 +71,8 @@ /* Begin PBXFileReference section */ 0995405518BC2BFFEF866458 /* Pods-WanPai.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WanPai.release.xcconfig"; path = "Target Support Files/Pods-WanPai/Pods-WanPai.release.xcconfig"; sourceTree = "<group>"; }; 732365E0737559969E7CB12D /* Pods-WanPai.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WanPai.debug.xcconfig"; path = "Target Support Files/Pods-WanPai/Pods-WanPai.debug.xcconfig"; sourceTree = "<group>"; }; 8D44E4F52A331DF800E7010E /* CourseDetailApplyVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseDetailApplyVC.swift; sourceTree = "<group>"; }; 8D44E4F62A331DF800E7010E /* CourseDetailApplyVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = CourseDetailApplyVC.xib; sourceTree = "<group>"; }; 8D4905A72A31A6EC00E38513 /* HomeCCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeCCell.swift; sourceTree = "<group>"; }; 8D4905A82A31A6EC00E38513 /* HomeCCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = HomeCCell.xib; sourceTree = "<group>"; }; 8D4905AB2A31AE7100E38513 /* JoinMemberIntroduceVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JoinMemberIntroduceVC.swift; sourceTree = "<group>"; }; @@ -67,6 +87,12 @@ 8D630BF72A31801300F0B7A8 /* SearchVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = SearchVC.xib; sourceTree = "<group>"; }; 8D630BFA2A3180B000F0B7A8 /* BaseTabBarVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BaseTabBarVC.swift; sourceTree = "<group>"; }; 8D667BF32A31C419005B02FB /* PaymentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentView.swift; sourceTree = "<group>"; }; 8D6D6AF02A32D6F800DCA2C6 /* CourseListVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseListVC.swift; sourceTree = "<group>"; }; 8D6D6AF12A32D6F800DCA2C6 /* CourseListVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = CourseListVC.xib; sourceTree = "<group>"; }; 8D7017872A3308DC00473C40 /* Common_1_TCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Common_1_TCell.swift; sourceTree = "<group>"; }; 8D7017882A3308DC00473C40 /* Common_1_TCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = Common_1_TCell.xib; sourceTree = "<group>"; }; 8D70178B2A330E5700473C40 /* CourseDetailVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseDetailVC.swift; sourceTree = "<group>"; }; 8D70178C2A330E5700473C40 /* CourseDetailVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = CourseDetailVC.xib; sourceTree = "<group>"; }; 8D710F6C2A31897C0031E2D1 /* WaterFallFlowLayout.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WaterFallFlowLayout.swift; sourceTree = "<group>"; }; 8D8400CE2A2F1430003AF6A2 /* WanPai.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = WanPai.app; sourceTree = BUILT_PRODUCTS_DIR; }; 8D8400D12A2F1430003AF6A2 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; }; @@ -77,16 +103,26 @@ 8D8400DF2A2F1432003AF6A2 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; 8D8400E72A2F14A3003AF6A2 /* LoginVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoginVC.swift; sourceTree = "<group>"; }; 8D8400E82A2F14A3003AF6A2 /* LoginVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = LoginVC.xib; sourceTree = "<group>"; }; 8D86DE842A3307A400A754EF /* CourseSubTypeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseSubTypeView.swift; sourceTree = "<group>"; }; 8D86DE862A3307B700A754EF /* CourseSubTypeView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = CourseSubTypeView.xib; sourceTree = "<group>"; }; 8D8DEDEB2A31D82100F2C7FA /* PaymentResultVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentResultVC.swift; sourceTree = "<group>"; }; 8D8DEDEC2A31D82100F2C7FA /* PaymentResultVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = PaymentResultVC.xib; sourceTree = "<group>"; }; 8D8DEDF02A31DDC500F2C7FA /* CouponCCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CouponCCell.swift; sourceTree = "<group>"; }; 8D8DEDF12A31DDC500F2C7FA /* CouponCCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = CouponCCell.xib; sourceTree = "<group>"; }; 8DA51DF62A32BE270085F4BA /* Enums.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Enums.swift; sourceTree = "<group>"; }; 8DA51DF92A32C6C10085F4BA /* StoresChooseView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StoresChooseView.swift; sourceTree = "<group>"; }; 8DA51DFB2A32C6D00085F4BA /* StoresChooseView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = StoresChooseView.xib; sourceTree = "<group>"; }; 8DAEB5482A30593B00814766 /* BaseNav.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BaseNav.swift; sourceTree = "<group>"; }; 8DAEB5492A30593C00814766 /* BaseVC.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BaseVC.swift; sourceTree = "<group>"; }; 8DAEB54D2A305A0100814766 /* Colors.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Colors.swift; sourceTree = "<group>"; }; 8DAEB54F2A305AEF00814766 /* Def.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Def.swift; sourceTree = "<group>"; }; 8DAEB5512A305B2D00814766 /* Fronts.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Fronts.swift; sourceTree = "<group>"; }; 8DD239AC2A32FC5100700DEB /* CourseTCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseTCell.swift; sourceTree = "<group>"; }; 8DD239AD2A32FC5100700DEB /* CourseTCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = CourseTCell.xib; sourceTree = "<group>"; }; 8DF1843E2A3327EE0095687B /* Common_1_CCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Common_1_CCell.swift; sourceTree = "<group>"; }; 8DF1843F2A3327EE0095687B /* Common_1_CCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = Common_1_CCell.xib; sourceTree = "<group>"; }; 8DF184422A332CCD0095687B /* StudentInfoTCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StudentInfoTCell.swift; sourceTree = "<group>"; }; 8DF184432A332CCD0095687B /* StudentInfoTCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = StudentInfoTCell.xib; sourceTree = "<group>"; }; 8DFA9B742A316E9A00E99281 /* LoginRegOrForgotVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoginRegOrForgotVC.swift; sourceTree = "<group>"; }; 8DFA9B752A316E9A00E99281 /* LoginRegOrForgotVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = LoginRegOrForgotVC.xib; sourceTree = "<group>"; }; 8DFA9B832A3172BE00E99281 /* HomeVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeVC.swift; sourceTree = "<group>"; }; @@ -157,6 +193,17 @@ path = Layout; sourceTree = "<group>"; }; 8D7017862A3308C100473C40 /* TCell */ = { isa = PBXGroup; children = ( 8D7017872A3308DC00473C40 /* Common_1_TCell.swift */, 8D7017882A3308DC00473C40 /* Common_1_TCell.xib */, 8DF184422A332CCD0095687B /* StudentInfoTCell.swift */, 8DF184432A332CCD0095687B /* StudentInfoTCell.xib */, ); path = TCell; sourceTree = "<group>"; }; 8D8400C52A2F1430003AF6A2 = { isa = PBXGroup; children = ( @@ -211,9 +258,20 @@ path = VC; sourceTree = "<group>"; }; 8D86DE832A33077B00A754EF /* View */ = { isa = PBXGroup; children = ( 8D86DE842A3307A400A754EF /* CourseSubTypeView.swift */, 8D86DE862A3307B700A754EF /* CourseSubTypeView.xib */, ); path = View; sourceTree = "<group>"; }; 8D8DEDE92A31D7F400F2C7FA /* Other */ = { isa = PBXGroup; children = ( 8D7017862A3308C100473C40 /* TCell */, 8DA51DF82A32C6700085F4BA /* View */, 8D8DEDEF2A31DDAA00F2C7FA /* CCell */, 8D8DEDEA2A31D80B00F2C7FA /* VC */, ); @@ -234,8 +292,19 @@ children = ( 8D8DEDF02A31DDC500F2C7FA /* CouponCCell.swift */, 8D8DEDF12A31DDC500F2C7FA /* CouponCCell.xib */, 8DF1843E2A3327EE0095687B /* Common_1_CCell.swift */, 8DF1843F2A3327EE0095687B /* Common_1_CCell.xib */, ); path = CCell; sourceTree = "<group>"; }; 8DA51DF82A32C6700085F4BA /* View */ = { isa = PBXGroup; children = ( 8DA51DF92A32C6C10085F4BA /* StoresChooseView.swift */, 8DA51DFB2A32C6D00085F4BA /* StoresChooseView.xib */, ); path = View; sourceTree = "<group>"; }; 8DAEB5472A30592800814766 /* Base */ = { @@ -267,6 +336,15 @@ 8D5C15072A31885B00A8BCC9 /* View */, ); path = Common; sourceTree = "<group>"; }; 8DD239AB2A32FC2B00700DEB /* TCell */ = { isa = PBXGroup; children = ( 8DD239AC2A32FC5100700DEB /* CourseTCell.swift */, 8DD239AD2A32FC5100700DEB /* CourseTCell.xib */, ); path = TCell; sourceTree = "<group>"; }; 8DFA9B782A31722300E99281 /* Root */ = { @@ -305,6 +383,8 @@ 8DFA9B872A317D8B00E99281 /* Course */ = { isa = PBXGroup; children = ( 8D86DE832A33077B00A754EF /* View */, 8DD239AB2A32FC2B00700DEB /* TCell */, 8DFA9B882A317D9B00E99281 /* VC */, ); path = Course; @@ -315,6 +395,12 @@ children = ( 8DFA9B892A317DAA00E99281 /* CourseVC.swift */, 8DFA9B8A2A317DAA00E99281 /* CourseVC.xib */, 8D6D6AF02A32D6F800DCA2C6 /* CourseListVC.swift */, 8D6D6AF12A32D6F800DCA2C6 /* CourseListVC.xib */, 8D70178B2A330E5700473C40 /* CourseDetailVC.swift */, 8D70178C2A330E5700473C40 /* CourseDetailVC.xib */, 8D44E4F52A331DF800E7010E /* CourseDetailApplyVC.swift */, 8D44E4F62A331DF800E7010E /* CourseDetailApplyVC.xib */, ); path = VC; sourceTree = "<group>"; @@ -414,21 +500,30 @@ buildActionMask = 2147483647; files = ( 8DFA9B8C2A317DAA00E99281 /* CourseVC.xib in Resources */, 8DD239AF2A32FC5100700DEB /* CourseTCell.xib in Resources */, 8D8400DE2A2F1432003AF6A2 /* LaunchScreen.storyboard in Resources */, 8DFA9B772A316E9A00E99281 /* LoginRegOrForgotVC.xib in Resources */, 8DA51DFC2A32C6D00085F4BA /* StoresChooseView.xib in Resources */, 8D70178A2A3308DC00473C40 /* Common_1_TCell.xib in Resources */, 8D70178E2A330E5700473C40 /* CourseDetailVC.xib in Resources */, 8D8DEDEE2A31D82100F2C7FA /* PaymentResultVC.xib in Resources */, 8D86DE872A3307B700A754EF /* CourseSubTypeView.xib in Resources */, 8D8400DB2A2F1432003AF6A2 /* Assets.xcassets in Resources */, 8DFA9B862A3172BE00E99281 /* HomeVC.xib in Resources */, 8DFA9B922A317DE900E99281 /* WelfareVC.xib in Resources */, 8D8DEDF32A31DDC500F2C7FA /* CouponCCell.xib in Resources */, 8D4905AE2A31AE7100E38513 /* JoinMemberIntroduceVC.xib in Resources */, 8DF184452A332CCD0095687B /* StudentInfoTCell.xib in Resources */, 8DF184412A3327EE0095687B /* Common_1_CCell.xib in Resources */, 8D5C150C2A31885B00A8BCC9 /* CommonAlertView.xib in Resources */, 8D5B80B72A31C4C700B86520 /* PaymentView.xib in Resources */, 8D8400EA2A2F14A3003AF6A2 /* LoginVC.xib in Resources */, 8D5C150D2A31885B00A8BCC9 /* AgreentView.xib in Resources */, 8D630BF92A31801300F0B7A8 /* SearchVC.xib in Resources */, 8D6D6AF32A32D6F800DCA2C6 /* CourseListVC.xib in Resources */, 8D4905AA2A31A6EC00E38513 /* HomeCCell.xib in Resources */, 8D8400D92A2F1430003AF6A2 /* Main.storyboard in Resources */, 8D44E4F82A331DF800E7010E /* CourseDetailApplyVC.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -482,19 +577,27 @@ buildActionMask = 2147483647; files = ( 8D4905AD2A31AE7100E38513 /* JoinMemberIntroduceVC.swift in Sources */, 8DF184442A332CCD0095687B /* StudentInfoTCell.swift in Sources */, 8DD239AE2A32FC5100700DEB /* CourseTCell.swift in Sources */, 8D667BF42A31C419005B02FB /* PaymentView.swift in Sources */, 8DFA9B762A316E9A00E99281 /* LoginRegOrForgotVC.swift in Sources */, 8DFA9B8B2A317DAA00E99281 /* CourseVC.swift in Sources */, 8DAEB54B2A30593C00814766 /* BaseVC.swift in Sources */, 8DAEB54E2A305A0100814766 /* Colors.swift in Sources */, 8D630BF82A31801300F0B7A8 /* SearchVC.swift in Sources */, 8D44E4F72A331DF800E7010E /* CourseDetailApplyVC.swift in Sources */, 8D6D6AF22A32D6F800DCA2C6 /* CourseListVC.swift in Sources */, 8DF184402A3327EE0095687B /* Common_1_CCell.swift in Sources */, 8DAEB54A2A30593C00814766 /* BaseNav.swift in Sources */, 8D710F6D2A31897C0031E2D1 /* WaterFallFlowLayout.swift in Sources */, 8DA51DFA2A32C6C10085F4BA /* StoresChooseView.swift in Sources */, 8DAEB5522A305B2D00814766 /* Fronts.swift in Sources */, 8D8DEDED2A31D82100F2C7FA /* PaymentResultVC.swift in Sources */, 8D8400D22A2F1430003AF6A2 /* AppDelegate.swift in Sources */, 8D8DEDF22A31DDC500F2C7FA /* CouponCCell.swift in Sources */, 8D5C150E2A31885B00A8BCC9 /* CommonAlertView.swift in Sources */, 8D7017892A3308DC00473C40 /* Common_1_TCell.swift in Sources */, 8D70178D2A330E5700473C40 /* CourseDetailVC.swift in Sources */, 8D5C150F2A31885B00A8BCC9 /* AgreentView.swift in Sources */, 8D8400E92A2F14A3003AF6A2 /* LoginVC.swift in Sources */, 8D4905A92A31A6EC00E38513 /* HomeCCell.swift in Sources */, @@ -504,6 +607,7 @@ 8DAEB5502A305AEF00814766 /* Def.swift in Sources */, 8D8400D42A2F1430003AF6A2 /* SceneDelegate.swift in Sources */, 8DA51DF72A32BE270085F4BA /* Enums.swift in Sources */, 8D86DE852A3307A400A754EF /* CourseSubTypeView.swift in Sources */, 8D5C15062A31861D00A8BCC9 /* TapBtn.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; WanPai/Assets.xcassets/Bg/placeholder_1.imageset/Contents.json
New file @@ -0,0 +1,22 @@ { "images" : [ { "idiom" : "universal", "scale" : "1x" }, { "filename" : "placeholder_1@2x.png", "idiom" : "universal", "scale" : "2x" }, { "filename" : "placeholder_1@3x.png", "idiom" : "universal", "scale" : "3x" } ], "info" : { "author" : "xcode", "version" : 1 } } WanPai/Assets.xcassets/Bg/placeholder_1.imageset/placeholder_1@2x.png
WanPai/Assets.xcassets/Bg/placeholder_1.imageset/placeholder_1@3x.png
WanPai/Assets.xcassets/Btns/btn_add_1.imageset/Contents.json
New file @@ -0,0 +1,22 @@ { "images" : [ { "idiom" : "universal", "scale" : "1x" }, { "filename" : "btn_add_1@2x.png", "idiom" : "universal", "scale" : "2x" }, { "filename" : "btn_add_1@3x.png", "idiom" : "universal", "scale" : "3x" } ], "info" : { "author" : "xcode", "version" : 1 } } WanPai/Assets.xcassets/Btns/btn_add_1.imageset/btn_add_1@2x.png
WanPai/Assets.xcassets/Btns/btn_add_1.imageset/btn_add_1@3x.png
WanPai/Assets.xcassets/Btns/btn_delete.imageset/Contents.json
New file @@ -0,0 +1,22 @@ { "images" : [ { "idiom" : "universal", "scale" : "1x" }, { "filename" : "btn_delete@2x.png", "idiom" : "universal", "scale" : "2x" }, { "filename" : "btn_delete@3x.png", "idiom" : "universal", "scale" : "3x" } ], "info" : { "author" : "xcode", "version" : 1 } } WanPai/Assets.xcassets/Btns/btn_delete.imageset/btn_delete@2x.png
WanPai/Assets.xcassets/Btns/btn_delete.imageset/btn_delete@3x.png
WanPai/Assets.xcassets/Icons/icon_aes.imageset/Contents.json
New file @@ -0,0 +1,22 @@ { "images" : [ { "idiom" : "universal", "scale" : "1x" }, { "filename" : "icon_aes@2x.png", "idiom" : "universal", "scale" : "2x" }, { "filename" : "icon_aes@3x.png", "idiom" : "universal", "scale" : "3x" } ], "info" : { "author" : "xcode", "version" : 1 } } WanPai/Assets.xcassets/Icons/icon_aes.imageset/icon_aes@2x.png
WanPai/Assets.xcassets/Icons/icon_aes.imageset/icon_aes@3x.png
WanPai/Assets.xcassets/Icons/icon_des.imageset/Contents.json
New file @@ -0,0 +1,22 @@ { "images" : [ { "idiom" : "universal", "scale" : "1x" }, { "filename" : "icon_des@2x.png", "idiom" : "universal", "scale" : "2x" }, { "filename" : "icon_des@3x.png", "idiom" : "universal", "scale" : "3x" } ], "info" : { "author" : "xcode", "version" : 1 } } WanPai/Assets.xcassets/Icons/icon_des.imageset/icon_des@2x.png
WanPai/Assets.xcassets/Icons/icon_des.imageset/icon_des@3x.png
WanPai/Assets.xcassets/Icons/icon_down_arrow.imageset/Contents.json
New file @@ -0,0 +1,22 @@ { "images" : [ { "idiom" : "universal", "scale" : "1x" }, { "filename" : "icon_down_arrow@2x.png", "idiom" : "universal", "scale" : "2x" }, { "filename" : "icon_down_arrow@3x.png", "idiom" : "universal", "scale" : "3x" } ], "info" : { "author" : "xcode", "version" : 1 } } WanPai/Assets.xcassets/Icons/icon_down_arrow.imageset/icon_down_arrow@2x.png
WanPai/Assets.xcassets/Icons/icon_down_arrow.imageset/icon_down_arrow@3x.png
WanPai/Assets.xcassets/Icons/icon_down_arrow_s.imageset/Contents.json
New file @@ -0,0 +1,22 @@ { "images" : [ { "idiom" : "universal", "scale" : "1x" }, { "filename" : "icon_down_arrow_s@2x.png", "idiom" : "universal", "scale" : "2x" }, { "filename" : "icon_down_arrow_s@3x.png", "idiom" : "universal", "scale" : "3x" } ], "info" : { "author" : "xcode", "version" : 1 } } WanPai/Assets.xcassets/Icons/icon_down_arrow_s.imageset/icon_down_arrow_s@2x.png
WanPai/Assets.xcassets/Icons/icon_down_arrow_s.imageset/icon_down_arrow_s@3x.png
WanPai/Assets.xcassets/Icons/icon_local_mini.imageset/Contents.json
New file @@ -0,0 +1,22 @@ { "images" : [ { "idiom" : "universal", "scale" : "1x" }, { "filename" : "icon_local_mini@2x.png", "idiom" : "universal", "scale" : "2x" }, { "filename" : "icon_local_mini@3x.png", "idiom" : "universal", "scale" : "3x" } ], "info" : { "author" : "xcode", "version" : 1 } } WanPai/Assets.xcassets/Icons/icon_local_mini.imageset/icon_local_mini@2x.png
WanPai/Assets.xcassets/Icons/icon_local_mini.imageset/icon_local_mini@3x.png
WanPai/Assets.xcassets/Icons/icon_search.imageset/Contents.json
New file @@ -0,0 +1,22 @@ { "images" : [ { "idiom" : "universal", "scale" : "1x" }, { "filename" : "icon_search@2x.png", "idiom" : "universal", "scale" : "2x" }, { "filename" : "icon_search@3x.png", "idiom" : "universal", "scale" : "3x" } ], "info" : { "author" : "xcode", "version" : 1 } } WanPai/Assets.xcassets/Icons/icon_search.imageset/icon_search@2x.png
WanPai/Assets.xcassets/Icons/icon_search.imageset/icon_search@3x.png
WanPai/Assets.xcassets/Icons/icon_sort_normal.imageset/Contents.json
New file @@ -0,0 +1,22 @@ { "images" : [ { "idiom" : "universal", "scale" : "1x" }, { "filename" : "icon_sort_normal@2x.png", "idiom" : "universal", "scale" : "2x" }, { "filename" : "icon_sort_normal@3x.png", "idiom" : "universal", "scale" : "3x" } ], "info" : { "author" : "xcode", "version" : 1 } } WanPai/Assets.xcassets/Icons/icon_sort_normal.imageset/icon_sort_normal@2x.png
WanPai/Assets.xcassets/Icons/icon_sort_normal.imageset/icon_sort_normal@3x.png
WanPai/Assets.xcassets/Icons/icon_time.imageset/Contents.json
New file @@ -0,0 +1,22 @@ { "images" : [ { "idiom" : "universal", "scale" : "1x" }, { "filename" : "icon_time@2x.png", "idiom" : "universal", "scale" : "2x" }, { "filename" : "icon_time@3x.png", "idiom" : "universal", "scale" : "3x" } ], "info" : { "author" : "xcode", "version" : 1 } } WanPai/Assets.xcassets/Icons/icon_time.imageset/icon_time@2x.png
WanPai/Assets.xcassets/Icons/icon_time.imageset/icon_time@3x.png
WanPai/Assets.xcassets/Icons/icon_user_small.imageset/Contents.json
New file @@ -0,0 +1,22 @@ { "images" : [ { "idiom" : "universal", "scale" : "1x" }, { "filename" : "icon_user_small@2x.png", "idiom" : "universal", "scale" : "2x" }, { "filename" : "icon_user_small@3x.png", "idiom" : "universal", "scale" : "3x" } ], "info" : { "author" : "xcode", "version" : 1 } } WanPai/Assets.xcassets/Icons/icon_user_small.imageset/icon_user_small@2x.png
WanPai/Assets.xcassets/Icons/icon_user_small.imageset/icon_user_small@3x.png
WanPai/Assets.xcassets/Icons/icon_vip.imageset/Contents.json
New file @@ -0,0 +1,22 @@ { "images" : [ { "idiom" : "universal", "scale" : "1x" }, { "filename" : "icon_vip@2x.png", "idiom" : "universal", "scale" : "2x" }, { "filename" : "icon_vip@3x.png", "idiom" : "universal", "scale" : "3x" } ], "info" : { "author" : "xcode", "version" : 1 } } WanPai/Assets.xcassets/Icons/icon_vip.imageset/icon_vip@2x.png
WanPai/Assets.xcassets/Icons/icon_vip.imageset/icon_vip@3x.png
WanPai/Root/Course/TCell/CourseTCell.swift
New file @@ -0,0 +1,18 @@ // // CourseTCell.swift // WanPai // // Created by 杨锴 on 2023/6/9. // import UIKit class CourseTCell: UITableViewCell { override func awakeFromNib() { super.awakeFromNib() selectionStyle = .none } } WanPai/Root/Course/TCell/CourseTCell.xib
New file @@ -0,0 +1,184 @@ <?xml version="1.0" encoding="UTF-8"?> <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21507" 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="21505"/> <capability name="Named colors" minToolsVersion="9.0"/> <capability name="Safe area layout guides" minToolsVersion="9.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="_CourseTCell" rowHeight="201" id="KGk-i7-Jjw" customClass="CourseTCell" customModule="WanPai" customModuleProvider="target"> <rect key="frame" x="0.0" y="0.0" width="445" height="201"/> <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="445" height="201"/> <autoresizingMask key="autoresizingMask"/> <subviews> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="placeholder_1" translatesAutoresizingMaskIntoConstraints="NO" id="kG4-xU-j01"> <rect key="frame" x="14.000000000000007" y="21" width="118.66666666666669" height="158"/> <constraints> <constraint firstAttribute="width" secondItem="kG4-xU-j01" secondAttribute="height" multiplier="1:1.33" id="kZu-F8-aRD"/> </constraints> <userDefinedRuntimeAttributes> <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius"> <real key="value" value="9"/> </userDefinedRuntimeAttribute> </userDefinedRuntimeAttributes> </imageView> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="KYY-Ie-Ipd"> <rect key="frame" x="142.66666666666666" y="20" width="292.33333333333337" height="22"/> <constraints> <constraint firstAttribute="height" constant="22" id="09U-HJ-nDG"/> </constraints> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="16"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="9" translatesAutoresizingMaskIntoConstraints="NO" id="eNH-LC-iLJ"> <rect key="frame" x="143.66666666666666" y="51" width="90.666666666666657" height="78"/> <subviews> <stackView opaque="NO" contentMode="scaleToFill" spacing="3" translatesAutoresizingMaskIntoConstraints="NO" id="Av5-eD-vOm"> <rect key="frame" x="0.0" y="0.0" width="90.666666666666671" height="20"/> <subviews> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_time" translatesAutoresizingMaskIntoConstraints="NO" id="taH-Vl-eKa"> <rect key="frame" x="0.0" y="0.0" width="16" height="20"/> </imageView> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="上课时间:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="vOz-k7-E1C"> <rect key="frame" x="19" y="0.0" width="71.666666666666671" height="20"/> <fontDescription key="fontDescription" type="system" pointSize="14"/> <color key="textColor" red="0.45098039215686275" green="0.45098039215686275" blue="0.45098039215686275" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> </subviews> <constraints> <constraint firstAttribute="height" constant="20" id="4Vl-mU-RbG"/> </constraints> </stackView> <stackView opaque="NO" contentMode="scaleToFill" spacing="3" translatesAutoresizingMaskIntoConstraints="NO" id="Q2n-xg-KUo"> <rect key="frame" x="0.0" y="29" width="90.666666666666671" height="20"/> <subviews> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_user_small" translatesAutoresizingMaskIntoConstraints="NO" id="KHG-Ya-K8I"> <rect key="frame" x="0.0" y="0.0" width="16" height="20"/> <constraints> <constraint firstAttribute="width" constant="16" id="Vz5-Rg-74J"/> </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="s8o-AB-aTs"> <rect key="frame" x="19" y="0.0" width="71.666666666666671" height="20"/> <fontDescription key="fontDescription" type="system" pointSize="14"/> <color key="textColor" red="0.45098039220000002" green="0.45098039220000002" blue="0.45098039220000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> </subviews> <constraints> <constraint firstAttribute="height" constant="20" id="y0O-0A-EMz"/> </constraints> </stackView> <stackView opaque="NO" contentMode="scaleToFill" spacing="3" translatesAutoresizingMaskIntoConstraints="NO" id="4j1-WG-XCo"> <rect key="frame" x="0.0" y="58" width="90.666666666666671" height="20"/> <subviews> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_vip" translatesAutoresizingMaskIntoConstraints="NO" id="fsf-xs-whp"> <rect key="frame" x="0.0" y="0.0" width="16" height="20"/> <constraints> <constraint firstAttribute="width" constant="16" id="aq7-MQ-MM1"/> </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="iGs-ae-BBu"> <rect key="frame" x="19" y="0.0" width="71.666666666666671" height="20"/> <fontDescription key="fontDescription" type="system" pointSize="14"/> <color key="textColor" red="0.45098039220000002" green="0.45098039220000002" blue="0.45098039220000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> </subviews> <constraints> <constraint firstAttribute="height" constant="20" id="LPR-vw-oDw"/> </constraints> </stackView> </subviews> </stackView> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="tOW-TH-1JZ"> <rect key="frame" x="13" y="200.66666666666666" width="419" height="0.33333333333334281"/> <color key="backgroundColor" red="0.59215686274509804" green="0.59215686274509804" blue="0.59215686274509804" alpha="0.22" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstAttribute="height" constant="0.5" id="UqP-R7-dtT"/> </constraints> </view> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="¥ 0" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="cfM-fa-irQ"> <rect key="frame" x="142.66666666666666" y="155" width="27.666666666666657" height="25"/> <constraints> <constraint firstAttribute="height" constant="25" id="xWn-hk-QRE"/> </constraints> <fontDescription key="fontDescription" type="boldSystem" pointSize="18"/> <color key="textColor" name="FE6E0D"/> <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="46M-8z-ObJ"> <rect key="frame" x="177.33333333333334" y="159" width="22" height="17"/> <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="14"/> <color key="textColor" red="0.77647058823529413" green="0.77647058823529413" blue="0.77647058823529413" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="qZP-3L-42h"> <rect key="frame" x="366" y="144.66666666666666" width="65" height="31"/> <color key="backgroundColor" name="FE6E0D"/> <constraints> <constraint firstAttribute="height" constant="31" id="QJh-lv-KCw"/> <constraint firstAttribute="width" constant="65" id="a9I-aS-idx"/> </constraints> <fontDescription key="fontDescription" type="system" weight="semibold" 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="2"/> </userDefinedRuntimeAttribute> </userDefinedRuntimeAttributes> </button> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0km" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ZKZ-AF-Nb9"> <rect key="frame" x="398" y="98.333333333333329" width="33" height="19.333333333333329"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="16"/> <color key="textColor" red="0.23921568627450979" green="0.24313725490196078" blue="0.27058823529411763" alpha="0.68999999999999995" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> </subviews> <constraints> <constraint firstAttribute="bottom" secondItem="tOW-TH-1JZ" secondAttribute="bottom" id="AhH-FA-O65"/> <constraint firstItem="cfM-fa-irQ" firstAttribute="bottom" secondItem="kG4-xU-j01" secondAttribute="bottom" constant="1" id="Aj2-0h-o8x"/> <constraint firstItem="qZP-3L-42h" firstAttribute="top" secondItem="ZKZ-AF-Nb9" secondAttribute="bottom" constant="27" id="F7y-XF-Iik"/> <constraint firstItem="cfM-fa-irQ" firstAttribute="leading" secondItem="kG4-xU-j01" secondAttribute="trailing" constant="10" id="GNg-gn-eS5"/> <constraint firstAttribute="trailing" secondItem="qZP-3L-42h" secondAttribute="trailing" constant="14" id="IRg-MS-A9h"/> <constraint firstItem="ZKZ-AF-Nb9" firstAttribute="trailing" secondItem="qZP-3L-42h" secondAttribute="trailing" id="JMI-5p-c6U"/> <constraint firstAttribute="trailing" secondItem="tOW-TH-1JZ" secondAttribute="trailing" constant="13" id="LC2-Dh-buQ"/> <constraint firstAttribute="bottom" secondItem="kG4-xU-j01" secondAttribute="bottom" constant="22" id="RAw-7P-bMS"/> <constraint firstItem="tOW-TH-1JZ" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="13" id="Wg5-kB-aPl"/> <constraint firstItem="kG4-xU-j01" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="21" id="XXl-Bw-f18"/> <constraint firstItem="46M-8z-ObJ" firstAttribute="centerY" secondItem="cfM-fa-irQ" secondAttribute="centerY" id="Z9F-4v-SgA"/> <constraint firstItem="kG4-xU-j01" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="14" id="flf-H5-clI"/> <constraint firstItem="46M-8z-ObJ" firstAttribute="leading" secondItem="cfM-fa-irQ" secondAttribute="trailing" constant="7" id="gRp-c2-A3j"/> <constraint firstAttribute="trailing" secondItem="KYY-Ie-Ipd" secondAttribute="trailing" constant="10" id="j4S-2X-WRW"/> <constraint firstItem="eNH-LC-iLJ" firstAttribute="top" secondItem="KYY-Ie-Ipd" secondAttribute="bottom" constant="9" id="oUV-0d-5qU"/> <constraint firstItem="tOW-TH-1JZ" firstAttribute="top" secondItem="qZP-3L-42h" secondAttribute="bottom" constant="25" id="qP1-h8-Ypc"/> <constraint firstItem="KYY-Ie-Ipd" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="20" id="qPf-Dj-Qzy"/> <constraint firstItem="eNH-LC-iLJ" firstAttribute="leading" secondItem="kG4-xU-j01" secondAttribute="trailing" constant="11" id="rkh-6K-n2W"/> <constraint firstItem="KYY-Ie-Ipd" firstAttribute="leading" secondItem="kG4-xU-j01" secondAttribute="trailing" constant="10" id="y3j-BM-1Oh"/> </constraints> </tableViewCellContentView> <viewLayoutGuide key="safeArea" id="njF-e1-oar"/> <point key="canvasLocation" x="135.1145038167939" y="75"/> </tableViewCell> </objects> <resources> <image name="icon_time" width="16" height="16"/> <image name="icon_user_small" width="14" height="14"/> <image name="icon_vip" width="12" height="12"/> <image name="placeholder_1" width="106" height="141"/> <namedColor name="FE6E0D"> <color red="0.99599999189376831" green="0.4309999942779541" blue="0.050999999046325684" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> </namedColor> </resources> </document> WanPai/Root/Course/VC/CourseDetailApplyVC.swift
New file @@ -0,0 +1,90 @@ // // CourseDetailApplyVC.swift // WanPai // // Created by 杨锴 on 2023/6/9. // import UIKit import JQTools import QMUIKit class CourseDetailApplyVC: BaseVC { @IBOutlet weak var collectionView: UICollectionView! @IBOutlet weak var cons_collectHei: NSLayoutConstraint! @IBOutlet weak var btn_addStudent: QMUIButton! @IBOutlet weak var tableView: UITableView! @IBOutlet weak var cons_tableHei: NSLayoutConstraint! @IBOutlet weak var studentTableView: UITableView! var CellW:Double! var CellH:Double! override func viewDidLoad() { super.viewDidLoad() title = "课程详情" } override func setUI() { CellW = (JQ_ScreenW - 155) / 3.0 CellH = CellW * 0.439 cons_tableHei.constant = 76 collectionView.delegate = self collectionView.dataSource = self collectionView.register(UINib(nibName: "Common_1_CCell", bundle: nil), forCellWithReuseIdentifier: "_Common_1_CCell") studentTableView.dataSource = self studentTableView.register(UINib(nibName: "StudentInfoTCell", bundle: nil), forCellReuseIdentifier: "_StudentInfoTCell") btn_addStudent.imagePosition = .right btn_addStudent.spacingBetweenImageAndTitle = 3 } } extension CourseDetailApplyVC:UICollectionViewDelegate{ } extension CourseDetailApplyVC:UICollectionViewDataSource{ func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "_Common_1_CCell", for: indexPath) as! Common_1_CCell return cell } func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { return 3 } } extension CourseDetailApplyVC:UICollectionViewDelegateFlowLayout{ func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat { return 21 } func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat { return 21 } func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { return CGSize(width: CellW, height: CellH) } } extension CourseDetailApplyVC:UITableViewDataSource{ func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return 1 } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "_StudentInfoTCell") as! StudentInfoTCell return cell } } WanPai/Root/Course/VC/CourseDetailApplyVC.xib
New file @@ -0,0 +1,456 @@ <?xml version="1.0" encoding="UTF-8"?> <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21507" 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="21505"/> <capability name="Named colors" minToolsVersion="9.0"/> <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="CourseDetailApplyVC" customModule="WanPai" customModuleProvider="target"> <connections> <outlet property="btn_addStudent" destination="kv0-E8-XGD" id="H56-eE-BCc"/> <outlet property="collectionView" destination="ZtR-nH-Ly1" id="Snf-0R-x4b"/> <outlet property="cons_collectHei" destination="wOm-8j-9fG" id="ycB-BH-9OQ"/> <outlet property="cons_tableHei" destination="YrT-fE-DXP" id="wAi-wu-Afa"/> <outlet property="studentTableView" destination="CMD-gX-7vo" id="Xu0-eU-5SD"/> <outlet property="tableView" destination="CMD-gX-7vo" id="dC7-Q4-Es3"/> <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" translatesAutoresizingMaskIntoConstraints="NO" id="lYZ-6x-awL"> <rect key="frame" x="0.0" y="59" width="393" height="684"/> <subviews> <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="mgu-kI-bYh"> <rect key="frame" x="0.0" y="0.0" width="393" height="754.66666666666663"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Syh-EN-qAE"> <rect key="frame" x="0.0" y="0.0" width="393" height="221.66666666666666"/> <subviews> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="SMj-2r-hml"> <rect key="frame" x="0.0" y="0.0" width="393" height="221.66666666666666"/> </imageView> </subviews> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstItem="SMj-2r-hml" firstAttribute="leading" secondItem="Syh-EN-qAE" secondAttribute="leading" id="1ck-Uh-sVN"/> <constraint firstAttribute="trailing" secondItem="SMj-2r-hml" secondAttribute="trailing" id="5qy-dC-kn1"/> <constraint firstAttribute="bottom" secondItem="SMj-2r-hml" secondAttribute="bottom" id="FkG-Bg-K2A"/> <constraint firstAttribute="width" secondItem="Syh-EN-qAE" secondAttribute="height" multiplier="1:0.564" id="SIT-6h-dXZ"/> <constraint firstItem="SMj-2r-hml" firstAttribute="top" secondItem="Syh-EN-qAE" secondAttribute="top" id="bHo-48-gkz"/> </constraints> </view> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="rzE-lm-roO"> <rect key="frame" x="0.0" y="221.66666666666669" width="393" height="79"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="kcf-Aq-bZk"> <rect key="frame" x="13" y="78" width="380" height="1"/> <color key="backgroundColor" red="0.59215686270000001" green="0.59215686270000001" blue="0.59215686270000001" alpha="0.22" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstAttribute="height" constant="1" id="oy0-mw-dH0"/> </constraints> </view> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="FDE-aj-7d9"> <rect key="frame" x="14" y="14" width="365" height="50"/> <constraints> <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="25" id="hvb-9e-WSH"/> </constraints> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="18"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> </subviews> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstAttribute="bottom" secondItem="kcf-Aq-bZk" secondAttribute="bottom" id="Duf-eq-ITI"/> <constraint firstItem="FDE-aj-7d9" firstAttribute="leading" secondItem="rzE-lm-roO" secondAttribute="leading" constant="14" id="GqN-gp-5eA"/> <constraint firstItem="kcf-Aq-bZk" firstAttribute="leading" secondItem="rzE-lm-roO" secondAttribute="leading" constant="13" id="PtR-ic-IEh"/> <constraint firstItem="FDE-aj-7d9" firstAttribute="top" secondItem="rzE-lm-roO" secondAttribute="top" constant="14" id="q87-Xe-bgG"/> <constraint firstItem="kcf-Aq-bZk" firstAttribute="top" secondItem="FDE-aj-7d9" secondAttribute="bottom" constant="14" id="rbY-gL-4oT"/> <constraint firstAttribute="trailing" secondItem="kcf-Aq-bZk" secondAttribute="trailing" id="xgR-PE-k90"/> <constraint firstAttribute="trailing" secondItem="FDE-aj-7d9" secondAttribute="trailing" constant="14" id="z4y-CD-eZI"/> </constraints> </view> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="0ER-xO-h01"> <rect key="frame" x="0.0" y="300.66666666666669" width="393" height="74"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="zYh-CH-Ib2"> <rect key="frame" x="13" y="73" width="380" height="1"/> <color key="backgroundColor" red="0.59215686270000001" green="0.59215686270000001" blue="0.59215686270000001" alpha="0.22" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstAttribute="height" constant="1" id="a1D-Je-2EW"/> </constraints> </view> <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="wrX-zM-oQd"> <rect key="frame" x="14" y="14" width="71.666666666666671" height="20"/> <constraints> <constraint firstAttribute="height" constant="20" id="dbh-fs-MIm"/> </constraints> <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" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="z0j-zm-BuW"> <rect key="frame" x="90.666666666666671" y="14" width="128.66666666666663" height="20"/> <constraints> <constraint firstAttribute="height" constant="20" id="GlH-i5-93x"/> </constraints> <fontDescription key="fontDescription" type="system" pointSize="14"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="00:00 - 24:00" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gAj-GU-kf7"> <rect key="frame" x="90.666666666666657" y="42" width="93.666666666666657" height="17"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/> <color key="textColor" name="FE6E0D"/> <nil key="highlightedColor"/> </label> </subviews> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstItem="wrX-zM-oQd" firstAttribute="leading" secondItem="0ER-xO-h01" secondAttribute="leading" constant="14" id="Ed0-LT-ZHy"/> <constraint firstItem="gAj-GU-kf7" firstAttribute="top" secondItem="z0j-zm-BuW" secondAttribute="bottom" constant="8" id="Rbr-2f-FSN"/> <constraint firstItem="wrX-zM-oQd" firstAttribute="top" secondItem="0ER-xO-h01" secondAttribute="top" constant="14" id="Vvu-lU-g8E"/> <constraint firstItem="zYh-CH-Ib2" firstAttribute="top" secondItem="gAj-GU-kf7" secondAttribute="bottom" constant="14" id="dOR-sZ-QFt"/> <constraint firstAttribute="trailing" secondItem="zYh-CH-Ib2" secondAttribute="trailing" id="e9R-ZM-Gff"/> <constraint firstItem="zYh-CH-Ib2" firstAttribute="leading" secondItem="0ER-xO-h01" secondAttribute="leading" constant="13" id="gbp-rE-hDg"/> <constraint firstItem="gAj-GU-kf7" firstAttribute="leading" secondItem="z0j-zm-BuW" secondAttribute="leading" id="kaO-0V-O1J"/> <constraint firstAttribute="bottom" secondItem="zYh-CH-Ib2" secondAttribute="bottom" id="rGV-HU-JXF"/> <constraint firstItem="z0j-zm-BuW" firstAttribute="leading" secondItem="wrX-zM-oQd" secondAttribute="trailing" constant="5" id="sEY-nD-oJ6"/> <constraint firstItem="z0j-zm-BuW" firstAttribute="centerY" secondItem="wrX-zM-oQd" secondAttribute="centerY" id="w5a-PG-HqG"/> </constraints> </view> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="VGI-DF-8ON"> <rect key="frame" x="0.0" y="374.66666666666669" width="393" height="49"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="znt-4O-jEV"> <rect key="frame" x="13" y="48" width="380" height="1"/> <color key="backgroundColor" red="0.59215686270000001" green="0.59215686270000001" blue="0.59215686270000001" alpha="0.22" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstAttribute="height" constant="1" id="ttP-70-DAQ"/> </constraints> </view> <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="0AN-B3-8VY"> <rect key="frame" x="14" y="14" width="71.666666666666671" height="20"/> <constraints> <constraint firstAttribute="height" constant="20" id="2ds-fw-LkN"/> <constraint firstAttribute="width" constant="71.670000000000002" id="Yym-5v-dem"/> </constraints> <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" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="OPI-Cq-tpZ"> <rect key="frame" x="90.666666666666657" y="14" width="292.33333333333337" height="20"/> <constraints> <constraint firstAttribute="height" constant="20" id="ZGk-vq-hqz"/> </constraints> <fontDescription key="fontDescription" type="system" pointSize="14"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> </subviews> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstItem="OPI-Cq-tpZ" firstAttribute="centerY" secondItem="0AN-B3-8VY" secondAttribute="centerY" id="9mH-uh-xpx"/> <constraint firstItem="OPI-Cq-tpZ" firstAttribute="leading" secondItem="0AN-B3-8VY" secondAttribute="trailing" constant="5" id="A2d-sS-UFm"/> <constraint firstItem="0AN-B3-8VY" firstAttribute="leading" secondItem="VGI-DF-8ON" secondAttribute="leading" constant="14" id="N5r-q6-q9q"/> <constraint firstAttribute="trailing" secondItem="OPI-Cq-tpZ" secondAttribute="trailing" constant="10" id="Pct-cA-cYz"/> <constraint firstItem="0AN-B3-8VY" firstAttribute="top" secondItem="VGI-DF-8ON" secondAttribute="top" constant="14" id="QxG-xa-Y4K"/> <constraint firstAttribute="trailing" secondItem="znt-4O-jEV" secondAttribute="trailing" id="dZW-Ri-EhW"/> <constraint firstAttribute="bottom" secondItem="znt-4O-jEV" secondAttribute="bottom" id="kb0-MX-Tns"/> <constraint firstItem="znt-4O-jEV" firstAttribute="top" secondItem="0AN-B3-8VY" secondAttribute="bottom" constant="14" id="oMm-Mv-Q6N"/> <constraint firstItem="znt-4O-jEV" firstAttribute="leading" secondItem="VGI-DF-8ON" secondAttribute="leading" constant="13" id="oo4-wT-wDs"/> </constraints> </view> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ers-Qf-hHM"> <rect key="frame" x="0.0" y="423.66666666666669" width="393" height="49"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Oig-DA-7LE"> <rect key="frame" x="13" y="47.999999999999943" width="380" height="1"/> <color key="backgroundColor" red="0.59215686270000001" green="0.59215686270000001" blue="0.59215686270000001" alpha="0.22" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstAttribute="height" constant="1" id="ZH6-ib-GWO"/> </constraints> </view> <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="4QB-KN-iOr"> <rect key="frame" x="14" y="14" width="71.666666666666671" height="20"/> <constraints> <constraint firstAttribute="height" constant="20" id="89d-Wi-xXY"/> <constraint firstAttribute="width" constant="71.670000000000002" id="FVk-LB-vxL"/> </constraints> <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" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="dq4-Ry-HOa"> <rect key="frame" x="90.666666666666657" y="14" width="292.33333333333337" height="20"/> <constraints> <constraint firstAttribute="height" constant="20" id="Z5A-jd-BbS"/> </constraints> <fontDescription key="fontDescription" type="system" pointSize="14"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> </subviews> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstItem="4QB-KN-iOr" firstAttribute="leading" secondItem="ers-Qf-hHM" secondAttribute="leading" constant="14" id="27Y-8q-hGU"/> <constraint firstItem="Oig-DA-7LE" firstAttribute="leading" secondItem="ers-Qf-hHM" secondAttribute="leading" constant="13" id="3Qc-kd-inw"/> <constraint firstItem="dq4-Ry-HOa" firstAttribute="leading" secondItem="4QB-KN-iOr" secondAttribute="trailing" constant="5" id="7jW-9f-z7z"/> <constraint firstItem="dq4-Ry-HOa" firstAttribute="centerY" secondItem="4QB-KN-iOr" secondAttribute="centerY" id="LVj-mn-Ab3"/> <constraint firstItem="Oig-DA-7LE" firstAttribute="top" secondItem="4QB-KN-iOr" secondAttribute="bottom" constant="14" id="N7e-bD-x8F"/> <constraint firstItem="4QB-KN-iOr" firstAttribute="top" secondItem="ers-Qf-hHM" secondAttribute="top" constant="14" id="NEL-Dd-VTi"/> <constraint firstAttribute="bottom" secondItem="Oig-DA-7LE" secondAttribute="bottom" id="kwu-4R-mmi"/> <constraint firstAttribute="trailing" secondItem="dq4-Ry-HOa" secondAttribute="trailing" constant="10" id="ryX-TV-ZW3"/> <constraint firstAttribute="trailing" secondItem="Oig-DA-7LE" secondAttribute="trailing" id="wfy-Ma-pXY"/> </constraints> </view> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="sWT-Ul-ugp"> <rect key="frame" x="0.0" y="472.66666666666663" width="393" height="98"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ENo-vd-rQB"> <rect key="frame" x="13" y="97" width="380" height="1"/> <color key="backgroundColor" red="0.59215686270000001" green="0.59215686270000001" blue="0.59215686270000001" alpha="0.22" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstAttribute="height" constant="1" id="hxy-lx-Ib6"/> </constraints> </view> <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="o5m-d0-NYP"> <rect key="frame" x="14" y="14" width="100" height="20"/> <constraints> <constraint firstAttribute="height" constant="20" id="7AI-5Q-AEw"/> </constraints> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" scrollEnabled="NO" dataMode="none" translatesAutoresizingMaskIntoConstraints="NO" id="ZtR-nH-Ly1"> <rect key="frame" x="51" y="47" width="291" height="36"/> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstAttribute="height" constant="36" id="wOm-8j-9fG"/> </constraints> <collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="10" minimumInteritemSpacing="10" id="Ke2-16-31Z"> <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 firstAttribute="trailing" secondItem="ZtR-nH-Ly1" secondAttribute="trailing" constant="51" id="4dU-Gb-8de"/> <constraint firstItem="ZtR-nH-Ly1" firstAttribute="top" secondItem="o5m-d0-NYP" secondAttribute="bottom" constant="13" id="R1f-P6-0uk"/> <constraint firstItem="o5m-d0-NYP" firstAttribute="leading" secondItem="sWT-Ul-ugp" secondAttribute="leading" constant="14" id="SHh-qh-XSR"/> <constraint firstAttribute="trailing" secondItem="ENo-vd-rQB" secondAttribute="trailing" id="X6l-Xk-Yyk"/> <constraint firstItem="ENo-vd-rQB" firstAttribute="leading" secondItem="sWT-Ul-ugp" secondAttribute="leading" constant="13" id="ZX2-IF-u9a"/> <constraint firstAttribute="bottom" secondItem="ZtR-nH-Ly1" secondAttribute="bottom" constant="15" id="c8g-8O-KNb"/> <constraint firstItem="o5m-d0-NYP" firstAttribute="top" secondItem="sWT-Ul-ugp" secondAttribute="top" constant="14" id="h2i-g2-lKF"/> <constraint firstAttribute="bottom" secondItem="ENo-vd-rQB" secondAttribute="bottom" id="ocF-Jl-lfy"/> <constraint firstItem="ZtR-nH-Ly1" firstAttribute="leading" secondItem="sWT-Ul-ugp" secondAttribute="leading" constant="51" id="x1D-bf-x2Z"/> </constraints> </view> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="4Za-aB-eli"> <rect key="frame" x="0.0" y="570.66666666666663" width="393" height="135"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="IiO-ii-7c4"> <rect key="frame" x="13" y="134" width="380" height="1"/> <color key="backgroundColor" red="0.59215686270000001" green="0.59215686270000001" blue="0.59215686270000001" alpha="0.22" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstAttribute="height" constant="1" id="Pch-cU-oGU"/> </constraints> </view> <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="ahH-c9-ZOs"> <rect key="frame" x="14" y="14" width="43" height="20"/> <constraints> <constraint firstAttribute="height" constant="20" id="707-U9-aHf"/> </constraints> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="kv0-E8-XGD" customClass="QMUIButton"> <rect key="frame" x="305" y="14" width="74" height="20"/> <constraints> <constraint firstAttribute="height" constant="20" id="KLF-n4-ae3"/> </constraints> <fontDescription key="fontDescription" type="system" pointSize="14"/> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <state key="normal" title="选择学员" image="btn_add_1"> <color key="titleColor" red="0.0" green="0.0" blue="0.0" alpha="0.56999999999999995" colorSpace="custom" customColorSpace="sRGB"/> </state> </button> <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" scrollEnabled="NO" style="plain" separatorStyle="default" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="-1" estimatedSectionHeaderHeight="-1" sectionFooterHeight="-1" estimatedSectionFooterHeight="-1" translatesAutoresizingMaskIntoConstraints="NO" id="CMD-gX-7vo"> <rect key="frame" x="14" y="46" width="365" height="76"/> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstAttribute="height" constant="76" id="YrT-fE-DXP"/> </constraints> </tableView> </subviews> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstItem="ahH-c9-ZOs" firstAttribute="leading" secondItem="4Za-aB-eli" secondAttribute="leading" constant="14" id="2Ne-tu-svL"/> <constraint firstItem="CMD-gX-7vo" firstAttribute="leading" secondItem="4Za-aB-eli" secondAttribute="leading" constant="14" id="5HW-Rm-mmW"/> <constraint firstAttribute="bottom" secondItem="IiO-ii-7c4" secondAttribute="bottom" id="6aC-mV-3sO"/> <constraint firstItem="IiO-ii-7c4" firstAttribute="top" secondItem="CMD-gX-7vo" secondAttribute="bottom" constant="12" id="G71-6U-pRK"/> <constraint firstItem="IiO-ii-7c4" firstAttribute="leading" secondItem="4Za-aB-eli" secondAttribute="leading" constant="13" id="U9t-sc-aw9"/> <constraint firstAttribute="trailing" secondItem="kv0-E8-XGD" secondAttribute="trailing" constant="14" id="jSm-Bh-IJD"/> <constraint firstItem="ahH-c9-ZOs" firstAttribute="top" secondItem="4Za-aB-eli" secondAttribute="top" constant="14" id="kTJ-mL-S3o"/> <constraint firstItem="CMD-gX-7vo" firstAttribute="top" secondItem="ahH-c9-ZOs" secondAttribute="bottom" constant="12" id="lPD-WZ-I5s"/> <constraint firstAttribute="trailing" secondItem="CMD-gX-7vo" secondAttribute="trailing" constant="14" id="n1S-sG-whc"/> <constraint firstAttribute="trailing" secondItem="IiO-ii-7c4" secondAttribute="trailing" id="uWM-Xc-PMM"/> <constraint firstItem="kv0-E8-XGD" firstAttribute="centerY" secondItem="ahH-c9-ZOs" secondAttribute="centerY" id="xn2-9h-Vom"/> </constraints> </view> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="XNI-Vj-heV"> <rect key="frame" x="0.0" y="705.66666666666663" width="393" height="49"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="1GA-NZ-pkR"> <rect key="frame" x="13" y="48" width="380" height="1"/> <color key="backgroundColor" red="0.59215686270000001" green="0.59215686270000001" blue="0.59215686270000001" alpha="0.22" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstAttribute="height" constant="1" id="vHl-Qn-25F"/> </constraints> </view> <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="ENs-7n-mN0"> <rect key="frame" x="14" y="14" width="86" height="20"/> <constraints> <constraint firstAttribute="height" constant="20" id="dOV-lH-pNy"/> </constraints> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="uvW-sZ-v3z"> <rect key="frame" x="336" y="10" width="43" 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" name="FE6E0D"/> </state> </button> </subviews> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstItem="uvW-sZ-v3z" firstAttribute="centerY" secondItem="XNI-Vj-heV" secondAttribute="centerY" id="HKW-ZS-ZUS"/> <constraint firstItem="ENs-7n-mN0" firstAttribute="top" secondItem="XNI-Vj-heV" secondAttribute="top" constant="14" id="UbJ-yU-seT"/> <constraint firstAttribute="trailing" secondItem="1GA-NZ-pkR" secondAttribute="trailing" id="VRE-95-xJR"/> <constraint firstAttribute="trailing" secondItem="uvW-sZ-v3z" secondAttribute="trailing" constant="14" id="jrc-RZ-XZA"/> <constraint firstItem="1GA-NZ-pkR" firstAttribute="top" secondItem="ENs-7n-mN0" secondAttribute="bottom" constant="14" id="pD4-2s-YRp"/> <constraint firstItem="ENs-7n-mN0" firstAttribute="leading" secondItem="XNI-Vj-heV" secondAttribute="leading" constant="14" id="pDQ-Wb-cbl"/> <constraint firstAttribute="bottom" secondItem="1GA-NZ-pkR" secondAttribute="bottom" id="wR5-QT-Zl7"/> <constraint firstItem="1GA-NZ-pkR" firstAttribute="leading" secondItem="XNI-Vj-heV" secondAttribute="leading" constant="13" id="z6y-gl-PVC"/> </constraints> </view> </subviews> </stackView> </subviews> <constraints> <constraint firstAttribute="bottom" secondItem="mgu-kI-bYh" secondAttribute="bottom" id="CsE-w4-NTv"/> <constraint firstItem="mgu-kI-bYh" firstAttribute="centerX" secondItem="lYZ-6x-awL" secondAttribute="centerX" id="Ui5-hc-XsL"/> <constraint firstAttribute="trailing" secondItem="mgu-kI-bYh" secondAttribute="trailing" id="oIL-sy-vAE"/> <constraint firstItem="mgu-kI-bYh" firstAttribute="leading" secondItem="lYZ-6x-awL" secondAttribute="leading" id="xjf-wS-7eQ"/> <constraint firstItem="mgu-kI-bYh" firstAttribute="top" secondItem="lYZ-6x-awL" secondAttribute="top" id="yGl-E8-ZAV"/> </constraints> </scrollView> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="eP1-9j-rJC"> <rect key="frame" x="0.0" y="743" width="393" height="75"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="¥ 0" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="O3i-VB-ddE"> <rect key="frame" x="8" y="23.333333333333371" width="35.666666666666664" height="28.666666666666671"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="24"/> <color key="textColor" name="FE6E0D"/> <nil key="highlightedColor"/> </label> <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="2" translatesAutoresizingMaskIntoConstraints="NO" id="8n8-uF-nCb"> <rect key="frame" x="52.666666666666657" y="19.666666666666629" width="57.333333333333343" height="36"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="会员价:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="hAD-m3-5Ns"> <rect key="frame" x="0.0" y="0.0" width="57.333333333333336" height="17"/> <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="14"/> <color key="textColor" red="0.2470588235" green="0.2470588235" blue="0.2470588235" 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="AuS-Gc-geQ"> <rect key="frame" x="0.0" y="19" width="57.333333333333336" height="17"/> <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="14"/> <color key="textColor" red="0.2470588235" green="0.2470588235" blue="0.2470588235" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> </subviews> </stackView> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Dbs-38-o1O"> <rect key="frame" x="137" y="17.666666666666629" width="242" height="40"/> <color key="backgroundColor" name="FE6E0D"/> <constraints> <constraint firstAttribute="height" constant="40" id="bwe-LL-VPf"/> </constraints> <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="立即报名"/> <userDefinedRuntimeAttributes> <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/> <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB"> <real key="value" value="20"/> </userDefinedRuntimeAttribute> </userDefinedRuntimeAttributes> </button> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="6Nt-Eo-1K1"> <rect key="frame" x="0.0" y="0.0" width="393" height="0.66666666666666663"/> <color key="backgroundColor" red="0.89411764709999997" green="0.89411764709999997" blue="0.89411764709999997" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstAttribute="height" constant="0.5" id="Tq0-Cf-ZLm"/> </constraints> </view> </subviews> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstItem="8n8-uF-nCb" firstAttribute="centerY" secondItem="O3i-VB-ddE" secondAttribute="centerY" id="518-bg-be6"/> <constraint firstItem="Dbs-38-o1O" firstAttribute="leading" secondItem="8n8-uF-nCb" secondAttribute="trailing" constant="27" id="DLb-0D-YZA"/> <constraint firstItem="O3i-VB-ddE" firstAttribute="centerY" secondItem="eP1-9j-rJC" secondAttribute="centerY" id="FKw-bP-atp"/> <constraint firstAttribute="trailing" secondItem="Dbs-38-o1O" secondAttribute="trailing" constant="14" id="Guv-Mo-58i"/> <constraint firstItem="O3i-VB-ddE" firstAttribute="leading" secondItem="eP1-9j-rJC" secondAttribute="leading" constant="8" id="Wwu-vM-ndW"/> <constraint firstAttribute="height" constant="75" id="X99-Ht-NiQ"/> <constraint firstItem="6Nt-Eo-1K1" firstAttribute="top" secondItem="eP1-9j-rJC" secondAttribute="top" id="a8j-52-p3r"/> <constraint firstItem="8n8-uF-nCb" firstAttribute="leading" secondItem="O3i-VB-ddE" secondAttribute="trailing" constant="9" id="jdo-Nh-dXO"/> <constraint firstItem="Dbs-38-o1O" firstAttribute="centerY" secondItem="eP1-9j-rJC" secondAttribute="centerY" id="obf-Qf-djt"/> <constraint firstAttribute="trailing" secondItem="6Nt-Eo-1K1" secondAttribute="trailing" id="pKy-5c-khe"/> <constraint firstItem="6Nt-Eo-1K1" firstAttribute="leading" secondItem="eP1-9j-rJC" secondAttribute="leading" id="rl0-Ch-0jy"/> </constraints> </view> </subviews> <viewLayoutGuide key="safeArea" id="fnl-2z-Ty3"/> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstItem="lYZ-6x-awL" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="topMargin" id="0fH-Lp-6vY"/> <constraint firstItem="lYZ-6x-awL" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="0m0-DP-vkR"/> <constraint firstItem="eP1-9j-rJC" firstAttribute="top" secondItem="lYZ-6x-awL" secondAttribute="bottom" id="7Vu-Ik-ssg"/> <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="lYZ-6x-awL" secondAttribute="trailing" id="Hd5-iB-yC7"/> <constraint firstItem="eP1-9j-rJC" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="hEv-Ns-YHm"/> <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="eP1-9j-rJC" secondAttribute="trailing" id="jiO-0q-5aX"/> <constraint firstItem="fnl-2z-Ty3" firstAttribute="bottom" secondItem="eP1-9j-rJC" secondAttribute="bottom" id="xM2-Gz-YkD"/> </constraints> <point key="canvasLocation" x="38.931297709923662" y="20.422535211267608"/> </view> </objects> <resources> <image name="btn_add_1" width="16" height="16"/> <namedColor name="FE6E0D"> <color red="0.99599999189376831" green="0.4309999942779541" blue="0.050999999046325684" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> </namedColor> <systemColor name="systemBackgroundColor"> <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> </systemColor> </resources> </document> WanPai/Root/Course/VC/CourseDetailVC.swift
New file @@ -0,0 +1,34 @@ // // CourseDetailVC.swift // WanPai // // Created by 杨锴 on 2023/6/9. // import UIKit import QMUIKit class CourseDetailVC: BaseVC { @IBOutlet weak var btn_local: QMUIButton! override func viewDidLoad() { super.viewDidLoad() title = "课程详情" } override func setUI() { btn_local.imagePosition = .left btn_local.spacingBetweenImageAndTitle = 5 } @IBAction func applyAction(_ sender: UIButton) { let vc = CourseDetailApplyVC() push(vc: vc) } @IBAction func localAction(_ sender: QMUIButton) { } } WanPai/Root/Course/VC/CourseDetailVC.xib
New file @@ -0,0 +1,265 @@ <?xml version="1.0" encoding="UTF-8"?> <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21507" 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="21505"/> <capability name="Named colors" minToolsVersion="9.0"/> <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="CourseDetailVC" customModule="WanPai" customModuleProvider="target"> <connections> <outlet property="btn_local" destination="ejk-Ik-4lo" id="Gds-GI-U25"/> <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" translatesAutoresizingMaskIntoConstraints="NO" id="Rg2-qU-qCI"> <rect key="frame" x="0.0" y="59" width="393" height="684"/> <subviews> <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="4lq-ly-hwP"> <rect key="frame" x="0.0" y="0.0" width="393" height="574.66666666666663"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="dyh-ku-yPw"> <rect key="frame" x="0.0" y="0.0" width="393" height="221.66666666666666"/> <subviews> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="Z8w-gF-Zqx"> <rect key="frame" x="0.0" y="0.0" width="393" height="221.66666666666666"/> </imageView> </subviews> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstAttribute="width" secondItem="dyh-ku-yPw" secondAttribute="height" multiplier="1:0.564" id="3MG-Oh-ffb"/> <constraint firstItem="Z8w-gF-Zqx" firstAttribute="leading" secondItem="dyh-ku-yPw" secondAttribute="leading" id="EaW-i6-Edn"/> <constraint firstItem="Z8w-gF-Zqx" firstAttribute="top" secondItem="dyh-ku-yPw" secondAttribute="top" id="R6U-0b-YFH"/> <constraint firstAttribute="bottom" secondItem="Z8w-gF-Zqx" secondAttribute="bottom" id="hra-0U-nuw"/> <constraint firstAttribute="trailing" secondItem="Z8w-gF-Zqx" secondAttribute="trailing" id="rwS-RS-vv3"/> </constraints> </view> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="g0x-NL-sDy"> <rect key="frame" x="0.0" y="221.66666666666669" width="393" height="79"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="hkJ-dZ-Dsm"> <rect key="frame" x="13" y="78" width="380" height="1"/> <color key="backgroundColor" red="0.59215686274509804" green="0.59215686274509804" blue="0.59215686274509804" alpha="0.22" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstAttribute="height" constant="1" id="B6a-T3-6WC"/> </constraints> </view> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="AU1-6y-12Y"> <rect key="frame" x="14" y="14" width="365" height="25"/> <constraints> <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="25" id="jqk-TH-6g7"/> </constraints> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="18"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="leading" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="ejk-Ik-4lo" customClass="QMUIButton"> <rect key="frame" x="14" y="46" width="223" height="18"/> <constraints> <constraint firstAttribute="height" constant="18" id="hIU-Ca-ItQ"/> </constraints> <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="12"/> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <state key="normal" title="玩湃-喜望店(天府新谷9号楼1005A)" image="icon_local_mini"> <color key="titleColor" red="0.0" green="0.0" blue="0.0" alpha="0.59999999999999998" colorSpace="custom" customColorSpace="sRGB"/> </state> <connections> <action selector="localAction:" destination="-1" eventType="touchUpInside" id="dvh-ks-RMN"/> </connections> </button> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="距离我0km" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="IzD-lg-sfB"> <rect key="frame" x="316.33333333333331" y="47.666666666666629" width="62.666666666666686" height="14.333333333333336"/> <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="12"/> <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.59999999999999998" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> </subviews> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstItem="hkJ-dZ-Dsm" firstAttribute="top" secondItem="ejk-Ik-4lo" secondAttribute="bottom" constant="14" id="5Ce-mJ-9Y0"/> <constraint firstItem="ejk-Ik-4lo" firstAttribute="leading" secondItem="g0x-NL-sDy" secondAttribute="leading" constant="14" id="7zO-D7-SZz"/> <constraint firstItem="IzD-lg-sfB" firstAttribute="centerY" secondItem="ejk-Ik-4lo" secondAttribute="centerY" id="91h-GQ-Gdc"/> <constraint firstAttribute="trailing" secondItem="hkJ-dZ-Dsm" secondAttribute="trailing" id="FzS-Gj-uOv"/> <constraint firstItem="ejk-Ik-4lo" firstAttribute="top" secondItem="AU1-6y-12Y" secondAttribute="bottom" constant="7" id="IHY-N9-ITJ"/> <constraint firstAttribute="bottom" secondItem="hkJ-dZ-Dsm" secondAttribute="bottom" id="JW8-P2-4I8"/> <constraint firstAttribute="trailing" secondItem="AU1-6y-12Y" secondAttribute="trailing" constant="14" id="VQa-06-Hqk"/> <constraint firstItem="hkJ-dZ-Dsm" firstAttribute="leading" secondItem="g0x-NL-sDy" secondAttribute="leading" constant="13" id="XAA-BI-ZI2"/> <constraint firstItem="AU1-6y-12Y" firstAttribute="leading" secondItem="g0x-NL-sDy" secondAttribute="leading" constant="14" id="eP6-ph-r4R"/> <constraint firstItem="AU1-6y-12Y" firstAttribute="top" secondItem="g0x-NL-sDy" secondAttribute="top" constant="14" id="mgr-6k-VK3"/> <constraint firstAttribute="trailing" secondItem="IzD-lg-sfB" secondAttribute="trailing" constant="14" id="qRn-yT-GcB"/> </constraints> </view> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="C7D-PZ-6fb"> <rect key="frame" x="0.0" y="300.66666666666669" width="393" height="74"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Adp-3Y-2eN"> <rect key="frame" x="13" y="73" width="380" height="1"/> <color key="backgroundColor" red="0.59215686270000001" green="0.59215686270000001" blue="0.59215686270000001" alpha="0.22" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstAttribute="height" constant="1" id="G9x-SX-NJF"/> </constraints> </view> <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="bD5-fy-zxF"> <rect key="frame" x="14" y="14" width="71.666666666666671" height="20"/> <constraints> <constraint firstAttribute="height" constant="20" id="FhX-6e-8yX"/> </constraints> <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" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="utV-MS-Xge"> <rect key="frame" x="90.666666666666671" y="14" width="128.66666666666663" height="20"/> <constraints> <constraint firstAttribute="height" constant="20" id="Tt8-AL-kD0"/> </constraints> <fontDescription key="fontDescription" type="system" pointSize="14"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="00:00 - 24:00" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="6RN-lP-9js"> <rect key="frame" x="90.666666666666657" y="42" width="93.666666666666657" height="17"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/> <color key="textColor" name="FE6E0D"/> <nil key="highlightedColor"/> </label> </subviews> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstItem="bD5-fy-zxF" firstAttribute="top" secondItem="C7D-PZ-6fb" secondAttribute="top" constant="14" id="Bli-OY-Oti"/> <constraint firstItem="Adp-3Y-2eN" firstAttribute="top" secondItem="6RN-lP-9js" secondAttribute="bottom" constant="14" id="GhN-yd-uT2"/> <constraint firstItem="6RN-lP-9js" firstAttribute="top" secondItem="utV-MS-Xge" secondAttribute="bottom" constant="8" id="P0o-QT-xw5"/> <constraint firstAttribute="bottom" secondItem="Adp-3Y-2eN" secondAttribute="bottom" id="eKU-vt-N8t"/> <constraint firstItem="bD5-fy-zxF" firstAttribute="leading" secondItem="C7D-PZ-6fb" secondAttribute="leading" constant="14" id="f9Q-V0-FMj"/> <constraint firstItem="6RN-lP-9js" firstAttribute="leading" secondItem="utV-MS-Xge" secondAttribute="leading" id="fnO-FO-e7w"/> <constraint firstItem="Adp-3Y-2eN" firstAttribute="leading" secondItem="C7D-PZ-6fb" secondAttribute="leading" constant="13" id="hVS-g6-hId"/> <constraint firstItem="utV-MS-Xge" firstAttribute="centerY" secondItem="bD5-fy-zxF" secondAttribute="centerY" id="khP-Sl-pWW"/> <constraint firstAttribute="trailing" secondItem="Adp-3Y-2eN" secondAttribute="trailing" id="pI1-iL-PoC"/> <constraint firstItem="utV-MS-Xge" firstAttribute="leading" secondItem="bD5-fy-zxF" secondAttribute="trailing" constant="5" id="qqS-qF-0uL"/> </constraints> </view> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="OTP-xt-gbB"> <rect key="frame" x="0.0" y="374.66666666666669" width="393" height="100"/> <constraints> <constraint firstAttribute="height" constant="100" id="ra0-2L-YY8"/> </constraints> </imageView> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="UC8-uA-Izr"> <rect key="frame" x="0.0" y="474.66666666666663" width="393" height="100"/> <constraints> <constraint firstAttribute="height" constant="100" id="xwL-l2-kBa"/> </constraints> </imageView> </subviews> </stackView> </subviews> <constraints> <constraint firstItem="4lq-ly-hwP" firstAttribute="top" secondItem="Rg2-qU-qCI" secondAttribute="top" id="1eR-03-QR5"/> <constraint firstItem="4lq-ly-hwP" firstAttribute="centerX" secondItem="Rg2-qU-qCI" secondAttribute="centerX" id="PdJ-sn-1JG"/> <constraint firstItem="4lq-ly-hwP" firstAttribute="leading" secondItem="Rg2-qU-qCI" secondAttribute="leading" id="PeR-Eh-pMH"/> <constraint firstAttribute="bottom" secondItem="4lq-ly-hwP" secondAttribute="bottom" id="TPa-jh-nFV"/> <constraint firstAttribute="trailing" secondItem="4lq-ly-hwP" secondAttribute="trailing" id="v01-Oy-sM3"/> </constraints> </scrollView> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="wnC-bp-nci"> <rect key="frame" x="0.0" y="743" width="393" height="75"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="¥ 0" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="moa-lg-TqA"> <rect key="frame" x="8" y="23.333333333333371" width="35.666666666666664" height="28.666666666666671"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="24"/> <color key="textColor" name="FE6E0D"/> <nil key="highlightedColor"/> </label> <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="2" translatesAutoresizingMaskIntoConstraints="NO" id="AaO-wm-Phu"> <rect key="frame" x="52.666666666666657" y="19.666666666666629" width="57.333333333333343" height="36"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="会员价:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="pXk-ET-NAX"> <rect key="frame" x="0.0" y="0.0" width="57.333333333333336" height="17"/> <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="14"/> <color key="textColor" red="0.24705882352941178" green="0.24705882352941178" blue="0.24705882352941178" 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="ldz-Xc-RZY"> <rect key="frame" x="0.0" y="19" width="57.333333333333336" height="17"/> <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="14"/> <color key="textColor" red="0.2470588235" green="0.2470588235" blue="0.2470588235" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> </subviews> </stackView> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="xz5-Ol-6OL"> <rect key="frame" x="137" y="17.666666666666629" width="242" height="40"/> <color key="backgroundColor" name="FE6E0D"/> <constraints> <constraint firstAttribute="height" constant="40" id="Sr1-FR-ZcT"/> </constraints> <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="立即报名"/> <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="applyAction:" destination="-1" eventType="touchUpInside" id="EXE-ow-3zh"/> </connections> </button> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="vLx-Ym-2BT"> <rect key="frame" x="0.0" y="0.0" width="393" height="0.66666666666666663"/> <color key="backgroundColor" red="0.89411764705882346" green="0.89411764705882346" blue="0.89411764705882346" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstAttribute="height" constant="0.5" id="qw1-Sd-Tp6"/> </constraints> </view> </subviews> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstItem="vLx-Ym-2BT" firstAttribute="leading" secondItem="wnC-bp-nci" secondAttribute="leading" id="0mA-xu-4Gw"/> <constraint firstItem="moa-lg-TqA" firstAttribute="centerY" secondItem="wnC-bp-nci" secondAttribute="centerY" id="Fp4-0K-MKT"/> <constraint firstAttribute="trailing" secondItem="xz5-Ol-6OL" secondAttribute="trailing" constant="14" id="Fun-i5-O3g"/> <constraint firstItem="AaO-wm-Phu" firstAttribute="leading" secondItem="moa-lg-TqA" secondAttribute="trailing" constant="9" id="Ndw-RN-uID"/> <constraint firstItem="AaO-wm-Phu" firstAttribute="centerY" secondItem="moa-lg-TqA" secondAttribute="centerY" id="aaB-iy-BB7"/> <constraint firstItem="xz5-Ol-6OL" firstAttribute="leading" secondItem="AaO-wm-Phu" secondAttribute="trailing" constant="27" id="cK4-AI-pio"/> <constraint firstAttribute="trailing" secondItem="vLx-Ym-2BT" secondAttribute="trailing" id="icl-bN-3t0"/> <constraint firstAttribute="height" constant="75" id="mg0-k1-0Lc"/> <constraint firstItem="vLx-Ym-2BT" firstAttribute="top" secondItem="wnC-bp-nci" secondAttribute="top" id="qyC-hn-h5m"/> <constraint firstItem="moa-lg-TqA" firstAttribute="leading" secondItem="wnC-bp-nci" secondAttribute="leading" constant="8" id="tSh-QE-esw"/> <constraint firstItem="xz5-Ol-6OL" firstAttribute="centerY" secondItem="wnC-bp-nci" secondAttribute="centerY" id="uHP-lZ-HWl"/> </constraints> </view> </subviews> <viewLayoutGuide key="safeArea" id="fnl-2z-Ty3"/> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstItem="wnC-bp-nci" firstAttribute="top" secondItem="Rg2-qU-qCI" secondAttribute="bottom" id="5NQ-6h-SQt"/> <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="wnC-bp-nci" secondAttribute="trailing" id="8EZ-Gs-l0z"/> <constraint firstItem="Rg2-qU-qCI" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" id="FZP-MY-dMX"/> <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="Rg2-qU-qCI" secondAttribute="trailing" id="JYG-sY-R6t"/> <constraint firstItem="wnC-bp-nci" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" id="P3U-4t-6Oi"/> <constraint firstItem="Rg2-qU-qCI" firstAttribute="top" secondItem="fnl-2z-Ty3" secondAttribute="top" id="wFb-ga-fRL"/> <constraint firstItem="fnl-2z-Ty3" firstAttribute="bottom" secondItem="wnC-bp-nci" secondAttribute="bottom" id="wQe-Gk-CJk"/> </constraints> <point key="canvasLocation" x="136.64122137404578" y="20.422535211267608"/> </view> </objects> <resources> <image name="icon_local_mini" width="11" height="16"/> <namedColor name="FE6E0D"> <color red="0.99599999189376831" green="0.4309999942779541" blue="0.050999999046325684" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> </namedColor> <systemColor name="systemBackgroundColor"> <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> </systemColor> </resources> </document> WanPai/Root/Course/VC/CourseListVC.swift
New file @@ -0,0 +1,98 @@ // // CourseListVC.swift // WanPai // // Created by 杨锴 on 2023/6/9. // import UIKit import QMUIKit class CourseListVC: BaseVC { @IBOutlet weak var view_topView: UIView! @IBOutlet weak var tf_search: QMUITextField! @IBOutlet weak var tableView: UITableView! @IBOutlet weak var btn_courseType: QMUIButton! @IBOutlet weak var btn_stores: QMUIButton! @IBOutlet weak var btn_sales: QMUIButton! @IBOutlet weak var btn_distance: QMUIButton! override func viewDidLoad() { super.viewDidLoad() title = "课程列表" } override func setUI() { btn_courseType.imagePosition = .right btn_stores.imagePosition = .right btn_sales.imagePosition = .right btn_distance.imagePosition = .right btn_courseType.spacingBetweenImageAndTitle = 5 btn_stores.spacingBetweenImageAndTitle = 5 btn_sales.spacingBetweenImageAndTitle = 5 btn_distance.spacingBetweenImageAndTitle = 5 tableView.delegate = self tableView.dataSource = self tableView.register(UINib(nibName: "CourseTCell", bundle: nil), forCellReuseIdentifier: "_CourseTCell") tableView.separatorStyle = .none } @IBAction func searchAction(_ sender: UIButton) { } @IBAction func crouseTypeAction(_ sender: UIButton) { guard !sender.isSelected else {return} sender.isSelected = true CourseSubTypeView.show(inView: self.view, afterView: view_topView, items: ["足球课程","篮球课程","羽毛球课程","网球课程"]) { str in sender.isSelected = false } closeClouse: { sender.isSelected = false } } @IBAction func inStoresAction(_ sender: UIButton) { guard !sender.isSelected else {return} sender.isSelected = true CourseSubTypeView.show(inView: self.view, afterView: view_topView, items: ["玩湃-喜望店","玩湃-喜望店","玩湃-喜望店","玩湃-喜望店"]) { str in sender.isSelected = false } closeClouse: { sender.isSelected = false } } @IBAction func saleAction(_ sender: UIButton) { } @IBAction func distanceAction(_ sender: UIButton) { } } extension CourseListVC:UITableViewDelegate{ func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { let vc = CourseDetailVC() push(vc: vc) } } extension CourseListVC:UITableViewDataSource{ func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "_CourseTCell") as! CourseTCell return cell } func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return 5 } } WanPai/Root/Course/VC/CourseListVC.xib
New file @@ -0,0 +1,197 @@ <?xml version="1.0" encoding="UTF-8"?> <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21507" 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="21505"/> <capability name="Named colors" minToolsVersion="9.0"/> <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="CourseListVC" customModule="WanPai" customModuleProvider="target"> <connections> <outlet property="btn_courseType" destination="t2I-Ui-tOU" id="SKV-Ff-lu5"/> <outlet property="btn_distance" destination="wS1-hG-Kg8" id="jsj-eR-6I6"/> <outlet property="btn_sales" destination="NcC-Kc-Iu6" id="ne8-Nq-e8c"/> <outlet property="btn_stores" destination="nAn-MT-4zR" id="GDA-LP-7mQ"/> <outlet property="tableView" destination="Uy7-FM-GEG" id="wsg-vH-5S5"/> <outlet property="tf_search" destination="c4Q-WQ-T1F" id="MRv-g9-aaN"/> <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> <outlet property="view_topView" destination="1pn-Fd-8Ng" id="zNI-t7-azW"/> </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="1pn-Fd-8Ng"> <rect key="frame" x="0.0" y="59" width="393" height="105"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="uud-fe-oji"> <rect key="frame" x="14" y="15" width="326" height="38"/> <subviews> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_search" translatesAutoresizingMaskIntoConstraints="NO" id="nUl-EG-ACs"> <rect key="frame" x="4" y="10.666666666666671" width="17" height="17"/> </imageView> <textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="输入课程名称,门店名称" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="c4Q-WQ-T1F" customClass="QMUITextField"> <rect key="frame" x="25" y="0.0" width="291" height="38"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/> <textInputTraits key="textInputTraits" returnKeyType="search"/> <userDefinedRuntimeAttributes> <userDefinedRuntimeAttribute type="color" keyPath="placeholderColor"> <color key="value" red="0.78431372549019607" green="0.792156862745098" blue="0.83921568627450982" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> </userDefinedRuntimeAttribute> </userDefinedRuntimeAttributes> </textField> </subviews> <color key="backgroundColor" red="0.96470588235294119" green="0.96470588235294119" blue="0.96862745098039216" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstItem="c4Q-WQ-T1F" firstAttribute="leading" secondItem="nUl-EG-ACs" secondAttribute="trailing" constant="4" id="HI1-12-3lL"/> <constraint firstAttribute="bottom" secondItem="c4Q-WQ-T1F" secondAttribute="bottom" id="Ycm-v6-e1b"/> <constraint firstItem="c4Q-WQ-T1F" firstAttribute="top" secondItem="uud-fe-oji" secondAttribute="top" id="aFo-07-Nqx"/> <constraint firstItem="nUl-EG-ACs" firstAttribute="leading" secondItem="uud-fe-oji" secondAttribute="leading" constant="4" id="bRl-Ag-igk"/> <constraint firstAttribute="height" constant="38" id="dfh-Or-nHZ"/> <constraint firstItem="nUl-EG-ACs" firstAttribute="centerY" secondItem="uud-fe-oji" secondAttribute="centerY" id="iNa-il-qun"/> <constraint firstAttribute="trailing" secondItem="c4Q-WQ-T1F" secondAttribute="trailing" constant="10" id="ptl-xi-PFM"/> </constraints> <userDefinedRuntimeAttributes> <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius"> <real key="value" value="4.1600000000000001"/> </userDefinedRuntimeAttribute> </userDefinedRuntimeAttributes> </view> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="y6v-W2-zcy"> <rect key="frame" x="340" y="15" width="53" height="38"/> <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" name="FE6E0D"/> </state> <connections> <action selector="searchAction:" destination="-1" eventType="touchUpInside" id="LSD-oz-s7c"/> </connections> </button> <stackView opaque="NO" contentMode="scaleToFill" distribution="equalSpacing" translatesAutoresizingMaskIntoConstraints="NO" id="Ibv-Ci-ENK"> <rect key="frame" x="14" y="53" width="365" height="52"/> <subviews> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="t2I-Ui-tOU" customClass="QMUIButton"> <rect key="frame" x="0.0" y="0.0" width="86" height="52"/> <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="课程类型" image="icon_down_arrow"> <color key="titleColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> </state> <state key="selected" image="icon_down_arrow_s"> <color key="titleColor" name="FE6E0D"/> </state> <connections> <action selector="crouseTypeAction:" destination="-1" eventType="touchUpInside" id="iSQ-m6-RIS"/> </connections> </button> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="nAn-MT-4zR" customClass="QMUIButton"> <rect key="frame" x="110.33333333333331" y="0.0" width="86" height="52"/> <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="所在门店" image="icon_down_arrow"> <color key="titleColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> </state> <state key="selected" image="icon_down_arrow_s"> <color key="titleColor" name="FE6E0D"/> </state> <connections> <action selector="inStoresAction:" destination="-1" eventType="touchUpInside" id="AEM-PY-d44"/> </connections> </button> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="NcC-Kc-Iu6" customClass="QMUIButton"> <rect key="frame" x="220.66666666666666" y="0.0" width="59.999999999999972" height="52"/> <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="销量" image="icon_aes"> <color key="titleColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> </state> <state key="selected" image="icon_des"/> <state key="highlighted" image="icon_sort_normal"/> <connections> <action selector="saleAction:" destination="-1" eventType="touchUpInside" id="3qT-GH-pha"/> </connections> </button> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="wS1-hG-Kg8" customClass="QMUIButton"> <rect key="frame" x="305" y="0.0" width="60" height="52"/> <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="距离" image="icon_aes"> <color key="titleColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> </state> <state key="selected" image="icon_des"/> <state key="highlighted" image="icon_sort_normal"/> <connections> <action selector="distanceAction:" destination="-1" eventType="touchUpInside" id="6di-mn-nZf"/> </connections> </button> </subviews> </stackView> </subviews> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstItem="Ibv-Ci-ENK" firstAttribute="leading" secondItem="1pn-Fd-8Ng" secondAttribute="leading" constant="14" id="BBJ-1l-8qO"/> <constraint firstAttribute="height" constant="105" id="BYW-OF-5sp"/> <constraint firstAttribute="bottom" secondItem="Ibv-Ci-ENK" secondAttribute="bottom" id="Iwu-k9-H58"/> <constraint firstItem="uud-fe-oji" firstAttribute="leading" secondItem="1pn-Fd-8Ng" secondAttribute="leading" constant="14" id="Lx3-sw-bkW"/> <constraint firstItem="y6v-W2-zcy" firstAttribute="top" secondItem="uud-fe-oji" secondAttribute="top" id="NG3-Yt-ClU"/> <constraint firstItem="y6v-W2-zcy" firstAttribute="bottom" secondItem="uud-fe-oji" secondAttribute="bottom" id="Orl-97-JRf"/> <constraint firstItem="Ibv-Ci-ENK" firstAttribute="top" secondItem="uud-fe-oji" secondAttribute="bottom" id="Prz-mb-km8"/> <constraint firstAttribute="trailing" secondItem="uud-fe-oji" secondAttribute="trailing" constant="53" id="THR-Ef-TFg"/> <constraint firstItem="uud-fe-oji" firstAttribute="top" secondItem="1pn-Fd-8Ng" secondAttribute="top" constant="15" id="cUI-nx-Szh"/> <constraint firstAttribute="trailing" secondItem="y6v-W2-zcy" secondAttribute="trailing" id="fJR-rg-c4V"/> <constraint firstAttribute="trailing" secondItem="Ibv-Ci-ENK" secondAttribute="trailing" constant="14" id="l7K-z2-0GQ"/> <constraint firstItem="y6v-W2-zcy" firstAttribute="leading" secondItem="uud-fe-oji" secondAttribute="trailing" id="mvb-Ct-Wft"/> </constraints> <userDefinedRuntimeAttributes> <userDefinedRuntimeAttribute type="size" keyPath="shadowOffset"> <size key="value" width="0.0" height="2"/> </userDefinedRuntimeAttribute> <userDefinedRuntimeAttribute type="color" keyPath="shadowColor"> <color key="value" red="0.87450980392156863" green="0.87450980392156863" blue="0.87450980392156863" alpha="0.5" colorSpace="custom" customColorSpace="sRGB"/> </userDefinedRuntimeAttribute> <userDefinedRuntimeAttribute type="number" keyPath="shadowOpacity"> <real key="value" value="1"/> </userDefinedRuntimeAttribute> </userDefinedRuntimeAttributes> </view> <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" separatorStyle="default" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="-1" estimatedSectionHeaderHeight="-1" sectionFooterHeight="-1" estimatedSectionFooterHeight="-1" translatesAutoresizingMaskIntoConstraints="NO" id="Uy7-FM-GEG"> <rect key="frame" x="0.0" y="169" width="393" height="649"/> <color key="backgroundColor" systemColor="systemBackgroundColor"/> </tableView> </subviews> <viewLayoutGuide key="safeArea" id="fnl-2z-Ty3"/> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstItem="Uy7-FM-GEG" firstAttribute="top" secondItem="1pn-Fd-8Ng" secondAttribute="bottom" constant="5" id="Nia-IB-LmX"/> <constraint firstItem="Uy7-FM-GEG" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" id="RnS-Vt-AHl"/> <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="1pn-Fd-8Ng" secondAttribute="trailing" id="S0j-qM-l39"/> <constraint firstItem="1pn-Fd-8Ng" firstAttribute="top" secondItem="fnl-2z-Ty3" secondAttribute="top" id="VtA-Lr-az1"/> <constraint firstItem="1pn-Fd-8Ng" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" id="mT6-x6-x8x"/> <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="Uy7-FM-GEG" secondAttribute="trailing" id="vkT-06-nok"/> <constraint firstItem="fnl-2z-Ty3" firstAttribute="bottom" secondItem="Uy7-FM-GEG" secondAttribute="bottom" id="ztp-Wd-zeE"/> </constraints> <point key="canvasLocation" x="38.931297709923662" y="20.422535211267608"/> </view> </objects> <resources> <image name="icon_aes" width="27" height="30"/> <image name="icon_des" width="27" height="30"/> <image name="icon_down_arrow" width="20" height="14"/> <image name="icon_down_arrow_s" width="20" height="14"/> <image name="icon_search" width="17" height="17"/> <image name="icon_sort_normal" width="27" height="30"/> <namedColor name="FE6E0D"> <color red="0.99599999189376831" green="0.4309999942779541" blue="0.050999999046325684" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> </namedColor> <systemColor name="systemBackgroundColor"> <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> </systemColor> </resources> </document> WanPai/Root/Course/VC/CourseVC.swift
@@ -16,15 +16,4 @@ view.backgroundColor = .jq_randomColor } /* // MARK: - Navigation // In a storyboard-based application, you will often want to do a little preparation before navigation override func prepare(for segue: UIStoryboardSegue, sender: Any?) { // Get the new view controller using segue.destination. // Pass the selected object to the new view controller. } */ } WanPai/Root/Course/View/CourseSubTypeView.swift
New file @@ -0,0 +1,85 @@ // // CourseSubTypeView.swift // WanPai // // Created by 杨锴 on 2023/6/9. // import UIKit import JQTools class CourseSubTypeView: UIView,JQNibView{ @IBOutlet weak var tableView: UITableView! @IBOutlet weak var cons_tableHeight: NSLayoutConstraint! private var closeClouse:(()->Void)? private var clouse:((String)->Void)? override func awakeFromNib() { super.awakeFromNib() tableView.delegate = self tableView.dataSource = self tableView.register(UINib(nibName: "Common_1_TCell", bundle: nil), forCellReuseIdentifier: "_Common_1_TCell") alpha = 0 cons_tableHeight.constant = 0 layoutIfNeeded() } static func show(inView:UIView,afterView:UIView,items:[String],clouse:@escaping (String)->Void,closeClouse:@escaping ()->Void){ let subTypeView = CourseSubTypeView.jq_loadNibView() subTypeView.closeClouse = closeClouse subTypeView.clouse = clouse inView.addSubview(subTypeView) subTypeView.snp.makeConstraints { make in make.top.equalTo(afterView.snp.bottom) make.left.right.bottom.equalToSuperview() } UIView.animate(withDuration: 0.2) { subTypeView.alpha = 1 } completion: { _ in subTypeView.cons_tableHeight.constant = 220 UIView.animate(withDuration: 0.2) { subTypeView.layoutIfNeeded() } } } @IBAction func closeAction(_ sender: UIButton) { cons_tableHeight.constant = 0 UIView.animate(withDuration: 0.2) { self.alpha = 0 self.layoutIfNeeded() } completion: { _ in self.closeClouse?() } } } extension CourseSubTypeView:UITableViewDelegate{ func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { cons_tableHeight.constant = 0 UIView.animate(withDuration: 0.2) { self.alpha = 0 self.layoutIfNeeded() } completion: { _ in self.clouse?("") self.closeClouse?() } } } extension CourseSubTypeView:UITableViewDataSource{ func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "_Common_1_TCell") as! Common_1_TCell return cell } func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return 10 } } WanPai/Root/Course/View/CourseSubTypeView.xib
New file @@ -0,0 +1,55 @@ <?xml version="1.0" encoding="UTF-8"?> <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21507" 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="21505"/> <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="CourseSubTypeView" customModule="WanPai" customModuleProvider="target"> <rect key="frame" x="0.0" y="0.0" width="393" height="852"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <subviews> <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" separatorStyle="default" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="-1" estimatedSectionHeaderHeight="-1" sectionFooterHeight="-1" estimatedSectionFooterHeight="-1" translatesAutoresizingMaskIntoConstraints="NO" id="tHr-ij-ZuB"> <rect key="frame" x="0.0" y="0.0" width="393" height="200"/> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstAttribute="height" constant="200" id="Olc-nq-hhf"/> </constraints> </tableView> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="UJg-nB-wyn"> <rect key="frame" x="0.0" y="200" width="393" height="652"/> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <connections> <action selector="closeAction:" destination="iN0-l3-epB" eventType="touchUpInside" id="Kw2-aB-0rB"/> </connections> </button> </subviews> <color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.69999999999999996" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstItem="UJg-nB-wyn" firstAttribute="top" secondItem="tHr-ij-ZuB" secondAttribute="bottom" id="LdP-Ae-C8B"/> <constraint firstItem="UJg-nB-wyn" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" id="Soe-At-gjt"/> <constraint firstAttribute="trailing" secondItem="UJg-nB-wyn" secondAttribute="trailing" id="cLA-uy-PLx"/> <constraint firstItem="tHr-ij-ZuB" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" id="g60-3C-lbo"/> <constraint firstItem="tHr-ij-ZuB" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" id="nUG-7v-6cU"/> <constraint firstAttribute="bottom" secondItem="UJg-nB-wyn" secondAttribute="bottom" id="ng5-xg-zFy"/> <constraint firstAttribute="trailing" secondItem="tHr-ij-ZuB" secondAttribute="trailing" id="ylk-Ed-mTh"/> </constraints> <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/> <connections> <outlet property="cons_tableHeight" destination="Olc-nq-hhf" id="sC8-FE-rMP"/> <outlet property="tableView" destination="tHr-ij-ZuB" id="gyi-C8-kOw"/> </connections> <point key="canvasLocation" x="40" y="21"/> </view> </objects> <resources> <systemColor name="systemBackgroundColor"> <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> </systemColor> </resources> </document> WanPai/Root/Home/VC/HomeVC.swift
@@ -44,12 +44,23 @@ } @IBAction func chooseStoresAction(_ sender: TapBtn) { StoresChooseView.show() } override var preferredStatusBarStyle: UIStatusBarStyle{ return .lightContent } } extension HomeVC:UICollectionViewDelegate{ func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { if indexPath.row == 0{ let vc = CourseListVC() push(vc: vc) } } } WanPai/Root/Home/VC/HomeVC.xib
@@ -29,7 +29,7 @@ <constraint firstAttribute="width" secondItem="l0X-uU-o8F" secondAttribute="height" multiplier="1:0.605" id="zJ9-xI-msc"/> </constraints> </imageView> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="CWt-Cn-ccL"> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="CWt-Cn-ccL" customClass="TapBtn" customModule="WanPai" customModuleProvider="target"> <rect key="frame" x="38" y="207.66666666666666" width="317" height="59.999999999999972"/> <subviews> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_map" translatesAutoresizingMaskIntoConstraints="NO" id="0cp-Cu-32h"> @@ -82,6 +82,9 @@ </userDefinedRuntimeAttribute> <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="NO"/> </userDefinedRuntimeAttributes> <connections> <action selector="chooseStoresAction:" destination="-1" eventType="touchUpInside" id="vqn-zH-FF6"/> </connections> </view> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Y4w-3W-3I4"> <rect key="frame" x="18" y="126.66666666666669" width="206.33333333333334" height="43"/> WanPai/Root/Other/CCell/Common_1_CCell.swift
New file @@ -0,0 +1,18 @@ // // Common_1_CCell.swift // WanPai // // Created by 杨锴 on 2023/6/9. // import UIKit class Common_1_CCell: UICollectionViewCell { @IBOutlet weak var label_content: UILabel! override func awakeFromNib() { super.awakeFromNib() } } WanPai/Root/Other/CCell/Common_1_CCell.xib
New file @@ -0,0 +1,52 @@ <?xml version="1.0" encoding="UTF-8"?> <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21507" 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="21505"/> <capability name="Named colors" minToolsVersion="9.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"/> <collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="_Common_1_CCell" id="gTV-IL-0wX" customClass="Common_1_CCell" customModule="WanPai" customModuleProvider="target"> <rect key="frame" x="0.0" y="0.0" width="186" height="104"/> <autoresizingMask key="autoresizingMask"/> <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center"> <rect key="frame" x="0.0" y="0.0" width="186" height="104"/> <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="4MA-Um-qBw"> <rect key="frame" x="0.0" y="0.0" width="186" height="104"/> <color key="backgroundColor" name="FE6E0D"/> <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="14"/> <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> <nil key="highlightedColor"/> <userDefinedRuntimeAttributes> <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius"> <real key="value" value="4"/> </userDefinedRuntimeAttribute> </userDefinedRuntimeAttributes> </label> </subviews> </view> <constraints> <constraint firstAttribute="trailing" secondItem="4MA-Um-qBw" secondAttribute="trailing" id="DUs-d5-won"/> <constraint firstAttribute="bottom" secondItem="4MA-Um-qBw" secondAttribute="bottom" id="ITc-PP-xPH"/> <constraint firstItem="4MA-Um-qBw" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" id="ciI-Uk-pCG"/> <constraint firstItem="4MA-Um-qBw" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" id="vnr-OB-Tuk"/> </constraints> <size key="customSize" width="186" height="104"/> <connections> <outlet property="label_content" destination="4MA-Um-qBw" id="ufR-gE-2WO"/> </connections> <point key="canvasLocation" x="143.5114503816794" y="39.436619718309863"/> </collectionViewCell> </objects> <resources> <namedColor name="FE6E0D"> <color red="0.99599999189376831" green="0.4309999942779541" blue="0.050999999046325684" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> </namedColor> </resources> </document> WanPai/Root/Other/TCell/Common_1_TCell.swift
New file @@ -0,0 +1,17 @@ // // Common_1_TCell.swift // WanPai // // Created by 杨锴 on 2023/6/9. // import UIKit class Common_1_TCell: UITableViewCell { override func awakeFromNib() { super.awakeFromNib() selectionStyle = .none } } WanPai/Root/Other/TCell/Common_1_TCell.xib
New file @@ -0,0 +1,58 @@ <?xml version="1.0" encoding="UTF-8"?> <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21507" 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="21505"/> <capability name="Safe area layout guides" minToolsVersion="9.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" rowHeight="52" id="KGk-i7-Jjw" customClass="Common_1_TCell" customModule="WanPai" customModuleProvider="target"> <rect key="frame" x="0.0" y="0.0" width="361" height="52"/> <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" ambiguous="YES" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM"> <rect key="frame" x="0.0" y="0.0" width="361" height="52"/> <autoresizingMask key="autoresizingMask"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="jgc-9g-gHo"> <rect key="frame" x="13" y="50" width="335" height="0.6666666666666643"/> <color key="backgroundColor" red="0.59215686274509804" green="0.59215686274509804" blue="0.59215686274509804" alpha="0.22" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstAttribute="height" constant="0.5" id="LgV-Ys-OsW"/> </constraints> </view> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="P0g-n9-6rY"> <rect key="frame" x="14" y="15" width="36" height="20"/> <constraints> <constraint firstAttribute="height" constant="20" id="E6k-02-8fo"/> </constraints> <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="btn_choose" translatesAutoresizingMaskIntoConstraints="NO" id="IsM-9J-Fsh"> <rect key="frame" x="325" y="12.666666666666664" width="25" height="25"/> </imageView> </subviews> <constraints> <constraint firstAttribute="trailing" secondItem="jgc-9g-gHo" secondAttribute="trailing" constant="13" id="0xj-tp-yIa"/> <constraint firstItem="P0g-n9-6rY" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="15" id="6qm-Eh-ehG"/> <constraint firstItem="P0g-n9-6rY" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="14" id="SQc-f6-se7"/> <constraint firstItem="jgc-9g-gHo" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="13" id="aWI-T3-y4V"/> <constraint firstItem="jgc-9g-gHo" firstAttribute="top" secondItem="P0g-n9-6rY" secondAttribute="bottom" constant="15" id="cVP-GO-Gkz"/> <constraint firstAttribute="bottom" secondItem="jgc-9g-gHo" secondAttribute="bottom" id="kv8-Ka-PUl"/> <constraint firstItem="IsM-9J-Fsh" firstAttribute="centerY" secondItem="P0g-n9-6rY" secondAttribute="centerY" id="tal-bN-Ecn"/> <constraint firstAttribute="trailing" secondItem="IsM-9J-Fsh" secondAttribute="trailing" constant="11" id="v87-cu-PBZ"/> </constraints> </tableViewCellContentView> <viewLayoutGuide key="safeArea" id="njF-e1-oar"/> <point key="canvasLocation" x="170.22900763358777" y="-25.35211267605634"/> </tableViewCell> </objects> <resources> <image name="btn_choose" width="25" height="25"/> </resources> </document> WanPai/Root/Other/TCell/StudentInfoTCell.swift
New file @@ -0,0 +1,16 @@ // // StudentInfoTCell.swift // WanPai // // Created by 杨锴 on 2023/6/9. // import UIKit class StudentInfoTCell: UITableViewCell { override func awakeFromNib() { super.awakeFromNib() selectionStyle = .none } } WanPai/Root/Other/TCell/StudentInfoTCell.xib
New file @@ -0,0 +1,106 @@ <?xml version="1.0" encoding="UTF-8"?> <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21507" 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="21505"/> <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" rowHeight="89" id="KGk-i7-Jjw" customClass="StudentInfoTCell" customModule="WanPai" customModuleProvider="target"> <rect key="frame" x="0.0" y="0.0" width="321" height="89"/> <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" ambiguous="YES" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM"> <rect key="frame" x="0.0" y="0.0" width="321" height="89"/> <autoresizingMask key="autoresizingMask"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="姓名:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="JeQ-E8-nRz"> <rect key="frame" x="10" y="13" width="43" height="20"/> <constraints> <constraint firstAttribute="height" constant="20" id="awc-A9-uu9"/> </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="0TW-3R-Kd5"> <rect key="frame" x="53" y="14.666666666666664" width="13.333333333333329" 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="LKW-Uz-UH1"> <rect key="frame" x="10" y="44" width="43" height="20"/> <constraints> <constraint firstAttribute="height" constant="20" id="koj-3m-yDM"/> </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="o0m-fp-glP"> <rect key="frame" x="53" y="45.666666666666664" width="13.333333333333329" 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="Kyb-yz-a5P"> <rect key="frame" x="114" y="13" width="71.666666666666686" height="20"/> <constraints> <constraint firstAttribute="height" constant="20" id="T0x-iq-e0Y"/> </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="A9b-WE-sPt"> <rect key="frame" x="185.66666666666666" y="14.666666666666664" width="13.333333333333343" height="17"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="UXK-s8-fn9"> <rect key="frame" x="300" y="12" width="16" height="22"/> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <state key="normal" image="btn_delete"/> </button> </subviews> <color key="backgroundColor" red="1" green="0.90588235294117647" blue="0.80000000000000004" alpha="0.28000000000000003" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstAttribute="trailing" secondItem="UXK-s8-fn9" secondAttribute="trailing" constant="5" id="1vt-Wd-VJi"/> <constraint firstItem="o0m-fp-glP" firstAttribute="centerY" secondItem="LKW-Uz-UH1" secondAttribute="centerY" id="2L7-GK-MFV"/> <constraint firstItem="A9b-WE-sPt" firstAttribute="centerY" secondItem="Kyb-yz-a5P" secondAttribute="centerY" id="6vb-Te-TbP"/> <constraint firstItem="0TW-3R-Kd5" firstAttribute="centerY" secondItem="JeQ-E8-nRz" secondAttribute="centerY" id="7LY-4a-gJB"/> <constraint firstItem="LKW-Uz-UH1" firstAttribute="top" secondItem="JeQ-E8-nRz" secondAttribute="bottom" constant="11" id="9n4-DF-JeD"/> <constraint firstItem="o0m-fp-glP" firstAttribute="leading" secondItem="LKW-Uz-UH1" secondAttribute="trailing" id="AWA-5B-kih"/> <constraint firstItem="JeQ-E8-nRz" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="10" id="CXh-T0-3g4"/> <constraint firstItem="A9b-WE-sPt" firstAttribute="leading" secondItem="Kyb-yz-a5P" secondAttribute="trailing" id="DdS-4r-IuU"/> <constraint firstItem="JeQ-E8-nRz" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="13" id="IIg-Xu-Ryy"/> <constraint firstItem="LKW-Uz-UH1" firstAttribute="leading" secondItem="JeQ-E8-nRz" secondAttribute="leading" id="PJX-Eq-8yk"/> <constraint firstItem="UXK-s8-fn9" firstAttribute="centerY" secondItem="JeQ-E8-nRz" secondAttribute="centerY" id="ftj-PL-Dsx"/> <constraint firstItem="Kyb-yz-a5P" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="114" id="ijt-fh-jGr"/> <constraint firstAttribute="bottom" secondItem="LKW-Uz-UH1" secondAttribute="bottom" constant="12" id="jUu-Jp-Ldv"/> <constraint firstItem="Kyb-yz-a5P" firstAttribute="centerY" secondItem="JeQ-E8-nRz" secondAttribute="centerY" id="qpV-JN-yqD"/> <constraint firstItem="0TW-3R-Kd5" firstAttribute="leading" secondItem="JeQ-E8-nRz" secondAttribute="trailing" id="rQb-lc-x8f"/> </constraints> <userDefinedRuntimeAttributes> <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius"> <real key="value" value="4"/> </userDefinedRuntimeAttribute> <userDefinedRuntimeAttribute type="number" keyPath="borderWidth"> <real key="value" value="1"/> </userDefinedRuntimeAttribute> <userDefinedRuntimeAttribute type="color" keyPath="borderColor"> <color key="value" red="0.99215686274509807" green="0.47450980392156861" blue="0.0078431372549019607" alpha="0.28000000000000003" colorSpace="custom" customColorSpace="sRGB"/> </userDefinedRuntimeAttribute> </userDefinedRuntimeAttributes> </tableViewCellContentView> <point key="canvasLocation" x="40.458015267175568" y="35.563380281690144"/> </tableViewCell> </objects> <resources> <image name="btn_delete" width="16" height="18"/> </resources> </document> WanPai/Root/Other/View/StoresChooseView.swift
New file @@ -0,0 +1,58 @@ // // StoresChooseView.swift // WanPai // // Created by 杨锴 on 2023/6/9. // import UIKit import JQTools class StoresChooseView: UIView,JQNibView{ @IBOutlet weak var view_container: UIView! @IBOutlet weak var label_currently: UILabel! override func awakeFromNib() { super.awakeFromNib() view_container.transform = .init(scaleX: 0.1, y: 0.1) alpha = 0 layoutIfNeeded() } static func show(){ let storesView = StoresChooseView.jq_loadNibView() storesView.frame = screnDelegate?.window?.frame ?? .zero screnDelegate?.window?.addSubview(storesView) UIView.animate(withDuration: 0.4) { storesView.view_container.transform = CGAffineTransform(scaleX: 1.0, y: 1.0) storesView.alpha = 1 } } private func close(){ UIView.animate(withDuration: 0.4) { self.view_container.transform = .init(scaleX: 0.1, y: 0.1) self.alpha = 0 } completion: { _ in self.removeFromSuperview() } } @IBAction func tapChooseAction(_ sender: TapBtn) { JQ_MenuView().show(self, tapView: sender, items: ["1","2","3","3","3","3","3","3","3","3"], menuWidth: sender.jq_width, tableHei: 200) { index, str in } } @IBAction func closeAction(_ sender: UIButton) { close() } @IBAction func completeAction(_ sender: UIButton) { close() } } WanPai/Root/Other/View/StoresChooseView.xib
New file @@ -0,0 +1,150 @@ <?xml version="1.0" encoding="UTF-8"?> <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21507" 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="21505"/> <capability name="Named colors" minToolsVersion="9.0"/> <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="StoresChooseView" customModule="WanPai" 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="ea6-eG-h1P"> <rect key="frame" x="45" y="333.66666666666669" width="303" height="210.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="vnK-Bc-xWN"> <rect key="frame" x="114.66666666666666" y="24" width="73.666666666666657" height="21"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="18"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="YCO-sD-KY4" customClass="TapBtn" customModule="WanPai" customModuleProvider="target"> <rect key="frame" x="20" y="72" width="263" height="50"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="sjM-7I-k3g"> <rect key="frame" x="14.999999999999996" y="15.333333333333313" width="40.666666666666657" 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_down_arrow" translatesAutoresizingMaskIntoConstraints="NO" id="ZlA-4r-lHH"> <rect key="frame" x="231" y="18" width="20" height="14"/> </imageView> </subviews> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstAttribute="trailing" secondItem="ZlA-4r-lHH" secondAttribute="trailing" constant="12" id="00m-AT-M0M"/> <constraint firstItem="ZlA-4r-lHH" firstAttribute="centerY" secondItem="YCO-sD-KY4" secondAttribute="centerY" id="E8h-qe-LrY"/> <constraint firstItem="sjM-7I-k3g" firstAttribute="leading" secondItem="YCO-sD-KY4" secondAttribute="leading" constant="15" id="UeS-kg-X5f"/> <constraint firstAttribute="height" constant="50" id="fpC-Dp-ggR"/> <constraint firstItem="sjM-7I-k3g" firstAttribute="centerY" secondItem="YCO-sD-KY4" secondAttribute="centerY" id="osj-6j-rNm"/> </constraints> <userDefinedRuntimeAttributes> <userDefinedRuntimeAttribute type="color" keyPath="borderColor"> <color key="value" red="0.80392156862745101" green="0.80392156862745101" blue="0.80392156862745101" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> </userDefinedRuntimeAttribute> <userDefinedRuntimeAttribute type="number" keyPath="borderWidth"> <real key="value" value="1"/> </userDefinedRuntimeAttribute> <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius"> <real key="value" value="6"/> </userDefinedRuntimeAttribute> </userDefinedRuntimeAttributes> <connections> <action selector="tapChooseAction:" destination="iN0-l3-epB" eventType="touchUpInside" id="F2e-Ck-cxo"/> </connections> </view> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Gtx-K4-ldi"> <rect key="frame" x="20.000000000000007" y="150" width="121.66666666666669" 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="VNh-Ns-GXh"/> </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="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/> <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB"> <real key="value" value="22"/> </userDefinedRuntimeAttribute> </userDefinedRuntimeAttributes> <connections> <action selector="closeAction:" destination="iN0-l3-epB" eventType="touchUpInside" id="URM-MM-Tlb"/> </connections> </button> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="MK0-Fw-fiO"> <rect key="frame" x="161.66666666666666" y="150" width="121.33333333333334" height="40"/> <color key="backgroundColor" name="FE6E0D"/> <constraints> <constraint firstAttribute="height" constant="40" id="CGz-wa-xYW"/> </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="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/> <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB"> <real key="value" value="20"/> </userDefinedRuntimeAttribute> </userDefinedRuntimeAttributes> <connections> <action selector="completeAction:" destination="iN0-l3-epB" eventType="touchUpInside" id="zmz-SN-Ulx"/> </connections> </button> </subviews> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstItem="YCO-sD-KY4" firstAttribute="top" secondItem="vnK-Bc-xWN" secondAttribute="bottom" constant="27" id="5Sg-XI-tyk"/> <constraint firstItem="YCO-sD-KY4" firstAttribute="leading" secondItem="ea6-eG-h1P" secondAttribute="leading" constant="20" id="Ede-8g-lpm"/> <constraint firstItem="MK0-Fw-fiO" firstAttribute="width" secondItem="Gtx-K4-ldi" secondAttribute="width" id="Nhf-NG-Bmn"/> <constraint firstAttribute="bottom" secondItem="MK0-Fw-fiO" secondAttribute="bottom" constant="20" id="R8O-yc-CxM"/> <constraint firstItem="vnK-Bc-xWN" firstAttribute="centerX" secondItem="ea6-eG-h1P" secondAttribute="centerX" id="RF5-nd-8KE"/> <constraint firstItem="vnK-Bc-xWN" firstAttribute="top" secondItem="ea6-eG-h1P" secondAttribute="top" constant="24" id="S7D-zN-YJ6"/> <constraint firstAttribute="trailing" secondItem="YCO-sD-KY4" secondAttribute="trailing" constant="20" id="Wh9-1t-F64"/> <constraint firstAttribute="bottom" secondItem="Gtx-K4-ldi" secondAttribute="bottom" constant="20" id="brJ-st-kuO"/> <constraint firstItem="MK0-Fw-fiO" firstAttribute="leading" secondItem="Gtx-K4-ldi" secondAttribute="trailing" constant="20" id="iiy-cI-0Cr"/> <constraint firstAttribute="height" constant="210" id="jRa-OG-3Na"/> <constraint firstAttribute="trailing" secondItem="MK0-Fw-fiO" secondAttribute="trailing" constant="20" id="kKt-QK-ktq"/> <constraint firstItem="Gtx-K4-ldi" firstAttribute="leading" secondItem="ea6-eG-h1P" secondAttribute="leading" constant="20" id="wLW-ue-oaS"/> </constraints> <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="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="ea6-eG-h1P" firstAttribute="centerY" secondItem="vUN-kp-3ea" secondAttribute="centerY" id="NQB-Yk-deI"/> <constraint firstItem="ea6-eG-h1P" firstAttribute="centerX" secondItem="vUN-kp-3ea" secondAttribute="centerX" id="O4F-6H-Xnc"/> <constraint firstItem="ea6-eG-h1P" firstAttribute="leading" secondItem="vUN-kp-3ea" secondAttribute="leading" constant="45" id="nBX-7R-Vi3"/> <constraint firstItem="vUN-kp-3ea" firstAttribute="trailing" secondItem="ea6-eG-h1P" secondAttribute="trailing" constant="45" id="plg-Gp-drS"/> </constraints> <connections> <outlet property="label_currently" destination="sjM-7I-k3g" id="zoR-nM-OxD"/> <outlet property="view_container" destination="ea6-eG-h1P" id="BWb-nv-CLC"/> </connections> <point key="canvasLocation" x="140" y="21"/> </view> </objects> <resources> <image name="icon_down_arrow" width="20" height="14"/> <namedColor name="FE6E0D"> <color red="0.99599999189376831" green="0.4309999942779541" blue="0.050999999046325684" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> </namedColor> <systemColor name="systemBackgroundColor"> <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> </systemColor> </resources> </document>