WanPai.xcodeproj/project.pbxproj
@@ -26,6 +26,15 @@ 132876692A49A4CB00FC9122 /* StudentReportVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 132876672A49A4CB00FC9122 /* StudentReportVC.xib */; }; 133435032A40407200F23951 /* CalendarItemCCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 133435012A40407200F23951 /* CalendarItemCCell.swift */; }; 133435042A40407200F23951 /* CalendarItemCCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 133435022A40407200F23951 /* CalendarItemCCell.xib */; }; 13489E0A2A4C41A400155744 /* ProfileVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13489E082A4C41A400155744 /* ProfileVC.swift */; }; 13489E0B2A4C41A400155744 /* ProfileVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13489E092A4C41A400155744 /* ProfileVC.xib */; }; 1355ABFA2A4BE9FF002B25E4 /* WelfareCouponsSubListVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1355ABF92A4BE9FF002B25E4 /* WelfareCouponsSubListVC.swift */; }; 1355ABFD2A4C15C7002B25E4 /* RechargeRecordVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1355ABFB2A4C15C7002B25E4 /* RechargeRecordVC.swift */; }; 1355ABFE2A4C15C7002B25E4 /* RechargeRecordVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1355ABFC2A4C15C7002B25E4 /* RechargeRecordVC.xib */; }; 136FD9AD2A4C2F0500933B7C /* RechargeItemCCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 136FD9AB2A4C2F0500933B7C /* RechargeItemCCell.swift */; }; 136FD9AE2A4C2F0500933B7C /* RechargeItemCCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 136FD9AC2A4C2F0500933B7C /* RechargeItemCCell.xib */; }; 136FD9B12A4C354000933B7C /* WelfareRedeemGoodsDetailVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 136FD9AF2A4C354000933B7C /* WelfareRedeemGoodsDetailVC.swift */; }; 136FD9B22A4C354000933B7C /* WelfareRedeemGoodsDetailVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 136FD9B02A4C354000933B7C /* WelfareRedeemGoodsDetailVC.xib */; }; 1376A6952A4A765700D4C851 /* StudentInfo_3_TCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1376A6932A4A765700D4C851 /* StudentInfo_3_TCell.swift */; }; 1376A6962A4A765700D4C851 /* StudentInfo_3_TCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1376A6942A4A765700D4C851 /* StudentInfo_3_TCell.xib */; }; 1376A6992A4A7B7B00D4C851 /* StudentCourseDetailVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1376A6972A4A7B7A00D4C851 /* StudentCourseDetailVC.swift */; }; @@ -88,6 +97,16 @@ 13D084552A40666A005B05D5 /* CalendarPickerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13D084542A40666A005B05D5 /* CalendarPickerView.swift */; }; 13D084572A406672005B05D5 /* CalendarPickerView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13D084562A406672005B05D5 /* CalendarPickerView.xib */; }; 13D084592A4071F2005B05D5 /* YardBookingListVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13D084582A4071F2005B05D5 /* YardBookingListVC.swift */; }; 13D606B42A4C29C2004F2A7A /* RechargeCenterVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13D606B22A4C29C2004F2A7A /* RechargeCenterVC.swift */; }; 13D606B52A4C29C2004F2A7A /* RechargeCenterVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13D606B32A4C29C2004F2A7A /* RechargeCenterVC.xib */; }; 13D7BA8F2A4BC3E90007E4B7 /* CommonSingleImgCCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13D7BA8D2A4BC3E90007E4B7 /* CommonSingleImgCCell.swift */; }; 13D7BA902A4BC3E90007E4B7 /* CommonSingleImgCCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13D7BA8E2A4BC3E90007E4B7 /* CommonSingleImgCCell.xib */; }; 13D7BA922A4BCE480007E4B7 /* WelfareBillListVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13D7BA912A4BCE480007E4B7 /* WelfareBillListVC.swift */; }; 13D7BA952A4BD4760007E4B7 /* BillInfoTCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13D7BA932A4BD4760007E4B7 /* BillInfoTCell.swift */; }; 13D7BA962A4BD4760007E4B7 /* BillInfoTCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13D7BA942A4BD4760007E4B7 /* BillInfoTCell.xib */; }; 13D7BA982A4BD9040007E4B7 /* WelfareCouponsListVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13D7BA972A4BD9040007E4B7 /* WelfareCouponsListVC.swift */; }; 13D7BA9B2A4BDF0A0007E4B7 /* WelfareCouponsTCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13D7BA992A4BDF0A0007E4B7 /* WelfareCouponsTCell.swift */; }; 13D7BA9C2A4BDF0A0007E4B7 /* WelfareCouponsTCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13D7BA9A2A4BDF0A0007E4B7 /* WelfareCouponsTCell.xib */; }; 13EC6DDC2A493D23009FC09A /* WelfareCoinCCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13EC6DDA2A493D23009FC09A /* WelfareCoinCCell.swift */; }; 13EC6DDD2A493D23009FC09A /* WelfareCoinCCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13EC6DDB2A493D23009FC09A /* WelfareCoinCCell.xib */; }; 13FBD7812A4AD62100037156 /* StudentMentalListVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13FBD7802A4AD62100037156 /* StudentMentalListVC.swift */; }; @@ -204,6 +223,15 @@ 132876672A49A4CB00FC9122 /* StudentReportVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = StudentReportVC.xib; sourceTree = "<group>"; }; 133435012A40407200F23951 /* CalendarItemCCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CalendarItemCCell.swift; sourceTree = "<group>"; }; 133435022A40407200F23951 /* CalendarItemCCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = CalendarItemCCell.xib; sourceTree = "<group>"; }; 13489E082A4C41A400155744 /* ProfileVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfileVC.swift; sourceTree = "<group>"; }; 13489E092A4C41A400155744 /* ProfileVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ProfileVC.xib; sourceTree = "<group>"; }; 1355ABF92A4BE9FF002B25E4 /* WelfareCouponsSubListVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WelfareCouponsSubListVC.swift; sourceTree = "<group>"; }; 1355ABFB2A4C15C7002B25E4 /* RechargeRecordVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RechargeRecordVC.swift; sourceTree = "<group>"; }; 1355ABFC2A4C15C7002B25E4 /* RechargeRecordVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = RechargeRecordVC.xib; sourceTree = "<group>"; }; 136FD9AB2A4C2F0500933B7C /* RechargeItemCCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RechargeItemCCell.swift; sourceTree = "<group>"; }; 136FD9AC2A4C2F0500933B7C /* RechargeItemCCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = RechargeItemCCell.xib; sourceTree = "<group>"; }; 136FD9AF2A4C354000933B7C /* WelfareRedeemGoodsDetailVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WelfareRedeemGoodsDetailVC.swift; sourceTree = "<group>"; }; 136FD9B02A4C354000933B7C /* WelfareRedeemGoodsDetailVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = WelfareRedeemGoodsDetailVC.xib; sourceTree = "<group>"; }; 1376A6932A4A765700D4C851 /* StudentInfo_3_TCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StudentInfo_3_TCell.swift; sourceTree = "<group>"; }; 1376A6942A4A765700D4C851 /* StudentInfo_3_TCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = StudentInfo_3_TCell.xib; sourceTree = "<group>"; }; 1376A6972A4A7B7A00D4C851 /* StudentCourseDetailVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StudentCourseDetailVC.swift; sourceTree = "<group>"; }; @@ -266,6 +294,16 @@ 13D084542A40666A005B05D5 /* CalendarPickerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CalendarPickerView.swift; sourceTree = "<group>"; }; 13D084562A406672005B05D5 /* CalendarPickerView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = CalendarPickerView.xib; sourceTree = "<group>"; }; 13D084582A4071F2005B05D5 /* YardBookingListVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YardBookingListVC.swift; sourceTree = "<group>"; }; 13D606B22A4C29C2004F2A7A /* RechargeCenterVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RechargeCenterVC.swift; sourceTree = "<group>"; }; 13D606B32A4C29C2004F2A7A /* RechargeCenterVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = RechargeCenterVC.xib; sourceTree = "<group>"; }; 13D7BA8D2A4BC3E90007E4B7 /* CommonSingleImgCCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommonSingleImgCCell.swift; sourceTree = "<group>"; }; 13D7BA8E2A4BC3E90007E4B7 /* CommonSingleImgCCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = CommonSingleImgCCell.xib; sourceTree = "<group>"; }; 13D7BA912A4BCE480007E4B7 /* WelfareBillListVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WelfareBillListVC.swift; sourceTree = "<group>"; }; 13D7BA932A4BD4760007E4B7 /* BillInfoTCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BillInfoTCell.swift; sourceTree = "<group>"; }; 13D7BA942A4BD4760007E4B7 /* BillInfoTCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = BillInfoTCell.xib; sourceTree = "<group>"; }; 13D7BA972A4BD9040007E4B7 /* WelfareCouponsListVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WelfareCouponsListVC.swift; sourceTree = "<group>"; }; 13D7BA992A4BDF0A0007E4B7 /* WelfareCouponsTCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WelfareCouponsTCell.swift; sourceTree = "<group>"; }; 13D7BA9A2A4BDF0A0007E4B7 /* WelfareCouponsTCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = WelfareCouponsTCell.xib; sourceTree = "<group>"; }; 13EC6DDA2A493D23009FC09A /* WelfareCoinCCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WelfareCoinCCell.swift; sourceTree = "<group>"; }; 13EC6DDB2A493D23009FC09A /* WelfareCoinCCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = WelfareCoinCCell.xib; sourceTree = "<group>"; }; 13FBD7802A4AD62100037156 /* StudentMentalListVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StudentMentalListVC.swift; sourceTree = "<group>"; }; @@ -468,8 +506,21 @@ children = ( 139A39F82A413C6500737AFB /* WelfareWeeklyTCell.swift */, 139A39F92A413C6500737AFB /* WelfareWeeklyTCell.xib */, 13D7BA932A4BD4760007E4B7 /* BillInfoTCell.swift */, 13D7BA942A4BD4760007E4B7 /* BillInfoTCell.xib */, 13D7BA992A4BDF0A0007E4B7 /* WelfareCouponsTCell.swift */, 13D7BA9A2A4BDF0A0007E4B7 /* WelfareCouponsTCell.xib */, ); path = TCell; sourceTree = "<group>"; }; 13D7BA8C2A4BC3D10007E4B7 /* CCell */ = { isa = PBXGroup; children = ( 13D7BA8D2A4BC3E90007E4B7 /* CommonSingleImgCCell.swift */, 13D7BA8E2A4BC3E90007E4B7 /* CommonSingleImgCCell.xib */, ); path = CCell; sourceTree = "<group>"; }; 13EC6DD92A493D11009FC09A /* CCell */ = { @@ -477,6 +528,8 @@ children = ( 13EC6DDA2A493D23009FC09A /* WelfareCoinCCell.swift */, 13EC6DDB2A493D23009FC09A /* WelfareCoinCCell.xib */, 136FD9AB2A4C2F0500933B7C /* RechargeItemCCell.swift */, 136FD9AC2A4C2F0500933B7C /* RechargeItemCCell.xib */, ); path = CCell; sourceTree = "<group>"; @@ -650,6 +703,8 @@ children = ( 8D8DEDEB2A31D82100F2C7FA /* PaymentResultVC.swift */, 8D8DEDEC2A31D82100F2C7FA /* PaymentResultVC.xib */, 13489E082A4C41A400155744 /* ProfileVC.swift */, 13489E092A4C41A400155744 /* ProfileVC.xib */, ); path = VC; sourceTree = "<group>"; @@ -705,6 +760,7 @@ 8DAEB5532A30629500814766 /* Common */ = { isa = PBXGroup; children = ( 13D7BA8C2A4BC3D10007E4B7 /* CCell */, 8D5C15102A31886D00A8BCC9 /* Layout */, 8D5C15072A31885B00A8BCC9 /* View */, ); @@ -867,6 +923,15 @@ 139A39FC2A413C7900737AFB /* WelfareWeeklySubListVC.swift */, 138667F32A428E4000484FEA /* WelfareWeeklyDetailVC.swift */, 138667F42A428E4000484FEA /* WelfareWeeklyDetailVC.xib */, 13D7BA912A4BCE480007E4B7 /* WelfareBillListVC.swift */, 13D7BA972A4BD9040007E4B7 /* WelfareCouponsListVC.swift */, 1355ABF92A4BE9FF002B25E4 /* WelfareCouponsSubListVC.swift */, 1355ABFB2A4C15C7002B25E4 /* RechargeRecordVC.swift */, 1355ABFC2A4C15C7002B25E4 /* RechargeRecordVC.xib */, 13D606B22A4C29C2004F2A7A /* RechargeCenterVC.swift */, 13D606B32A4C29C2004F2A7A /* RechargeCenterVC.xib */, 136FD9AF2A4C354000933B7C /* WelfareRedeemGoodsDetailVC.swift */, 136FD9B02A4C354000933B7C /* WelfareRedeemGoodsDetailVC.xib */, ); path = VC; sourceTree = "<group>"; @@ -950,7 +1015,9 @@ files = ( 1376A69D2A4A7C6000D4C851 /* Impact.ttf in Resources */, 1378018F2A3B0BC500414959 /* CourseOnlineHeadView.xib in Resources */, 13D7BA9C2A4BDF0A0007E4B7 /* WelfareCouponsTCell.xib in Resources */, 8DFA9B8C2A317DAA00E99281 /* CourseVC.xib in Resources */, 13489E0B2A4C41A400155744 /* ProfileVC.xib in Resources */, 8DD239AF2A32FC5100700DEB /* CourseTCell.xib in Resources */, 8D8400DE2A2F1432003AF6A2 /* LaunchScreen.storyboard in Resources */, 133435042A40407200F23951 /* CalendarItemCCell.xib in Resources */, @@ -963,7 +1030,9 @@ 8D79A5902A3957420029874B /* StudentInfo_2_TCell.xib in Resources */, 131732BB2A405EF800F722AF /* CalendarDateTimeTCell.xib in Resources */, 8D5732BE2A3724A900B2F8E3 /* AddStudentVC.xib in Resources */, 136FD9B22A4C354000933B7C /* WelfareRedeemGoodsDetailVC.xib in Resources */, 13272DCD2A40076900AC6481 /* YardBookingTimeView.xib in Resources */, 136FD9AE2A4C2F0500933B7C /* RechargeItemCCell.xib in Resources */, 8D2BCD3F2A3847F600A360C6 /* ActivityDetailApplyVC.xib in Resources */, 8D79A59B2A3967A90029874B /* StudentUpdateInfoView.xib in Resources */, 1387B6722A4AC9C000BF2F2E /* CourseBookingTCell.xib in Resources */, @@ -995,6 +1064,7 @@ 8D4905AE2A31AE7100E38513 /* JoinMemberIntroduceVC.xib in Resources */, 13EC6DDD2A493D23009FC09A /* WelfareCoinCCell.xib in Resources */, 8DF184452A332CCD0095687B /* StudentInfoTCell.xib in Resources */, 13D7BA962A4BD4760007E4B7 /* BillInfoTCell.xib in Resources */, 132876632A49A18700FC9122 /* StudentExchangeVC.xib in Resources */, 132876692A49A4CB00FC9122 /* StudentReportVC.xib in Resources */, 138D4D002A47EF4C005233E7 /* CourseDatetimeCCell.xib in Resources */, @@ -1008,7 +1078,9 @@ 8D5B80B72A31C4C700B86520 /* PaymentView.xib in Resources */, 139A39F42A41388200737AFB /* WelfareFreeVC.xib in Resources */, 8D8400EA2A2F14A3003AF6A2 /* LoginVC.xib in Resources */, 1355ABFE2A4C15C7002B25E4 /* RechargeRecordVC.xib in Resources */, 8D7D87182A380970003209D6 /* ActivityInfoTCell.xib in Resources */, 13D7BA902A4BC3E90007E4B7 /* CommonSingleImgCCell.xib in Resources */, 130CE4582A4925AB00394384 /* StudentVideoCCell.xib in Resources */, 8D6E54D22A381CB000D750CE /* ActivityDetailVC.xib in Resources */, 13272DD12A4034A300AC6481 /* YardDetailVC.xib in Resources */, @@ -1021,6 +1093,7 @@ 8D4905AA2A31A6EC00E38513 /* HomeCCell.xib in Resources */, 8D8400D92A2F1430003AF6A2 /* Main.storyboard in Resources */, 1387B66E2A4AC62500BF2F2E /* CourseBookingFuncView.xib in Resources */, 13D606B52A4C29C2004F2A7A /* RechargeCenterVC.xib in Resources */, 8D44E4F82A331DF800E7010E /* CourseDetailApplyVC.xib in Resources */, 8D79A5942A395BF40029874B /* ActivityStudentListVC.xib in Resources */, 137801942A3B0D3C00414959 /* CourseOnlineCCell.xib in Resources */, @@ -1077,9 +1150,11 @@ buildActionMask = 2147483647; files = ( 13AFABC42A4AE492001FEA16 /* StudentRemarkTCell.swift in Sources */, 13D7BA9B2A4BDF0A0007E4B7 /* WelfareCouponsTCell.swift in Sources */, 8D4905AD2A31AE7100E38513 /* JoinMemberIntroduceVC.swift in Sources */, 8DC3BE112A3803B500C91B7F /* ActivityListVC.swift in Sources */, 1378018A2A3B08A600414959 /* CourseOnlineListVC.swift in Sources */, 13D7BA8F2A4BC3E90007E4B7 /* CommonSingleImgCCell.swift in Sources */, 131732B72A405DED00F722AF /* YardDetailDateTimeVC.swift in Sources */, 13D084552A40666A005B05D5 /* CalendarPickerView.swift in Sources */, 8DF184442A332CCD0095687B /* StudentInfoTCell.swift in Sources */, @@ -1090,6 +1165,7 @@ 137801962A3B188900414959 /* CourseOnlineSearchView.swift in Sources */, 13272DCB2A40076300AC6481 /* YardBookingTimeView.swift in Sources */, 1376A6952A4A765700D4C851 /* StudentInfo_3_TCell.swift in Sources */, 1355ABFA2A4BE9FF002B25E4 /* WelfareCouponsSubListVC.swift in Sources */, 8DFA9B762A316E9A00E99281 /* LoginRegOrForgotVC.swift in Sources */, 132876622A49A18700FC9122 /* StudentExchangeVC.swift in Sources */, 8D6810EA2A3710CE004486DE /* StudentChooseView.swift in Sources */, @@ -1121,16 +1197,20 @@ 1387B66C2A4AC61F00BF2F2E /* CourseBookingFuncView.swift in Sources */, 8D8400D22A2F1430003AF6A2 /* AppDelegate.swift in Sources */, 8D8DEDF22A31DDC500F2C7FA /* CouponCCell.swift in Sources */, 13489E0A2A4C41A400155744 /* ProfileVC.swift in Sources */, 8D7D87172A380970003209D6 /* ActivityInfoTCell.swift in Sources */, 8D5C150E2A31885B00A8BCC9 /* CommonAlertView.swift in Sources */, 139A39F62A4139E000737AFB /* WelfareWeeklyListVC.swift in Sources */, 133435032A40407200F23951 /* CalendarItemCCell.swift in Sources */, 8D7017892A3308DC00473C40 /* Common_1_TCell.swift in Sources */, 13D7BA922A4BCE480007E4B7 /* WelfareBillListVC.swift in Sources */, 1376A6A12A4A7E1E00D4C851 /* CourseChargeTCell.swift in Sources */, 13AFABC12A4AE3DC001FEA16 /* StudentRemarkListVC.swift in Sources */, 8D6D58D12A39906F0003CFE6 /* ActivitySignupListSubVC.swift in Sources */, 8D70178D2A330E5700473C40 /* CourseDetailVC.swift in Sources */, 1355ABFD2A4C15C7002B25E4 /* RechargeRecordVC.swift in Sources */, 139A39F02A41374100737AFB /* YardBookingSubListVC.swift in Sources */, 136FD9B12A4C354000933B7C /* WelfareRedeemGoodsDetailVC.swift in Sources */, 8D5732BD2A3724A900B2F8E3 /* AddStudentVC.swift in Sources */, 8D5C150F2A31885B00A8BCC9 /* AgreentView.swift in Sources */, 1387B6692A4AC0B300BF2F2E /* CourseBookingSubListVC.swift in Sources */, @@ -1147,10 +1227,12 @@ 8DCF25BA2A38136D00DC6899 /* CityChooseSubTypeView.swift in Sources */, 8D2BCD3E2A3847F600A360C6 /* ActivityDetailApplyVC.swift in Sources */, 8DFA9B852A3172BE00E99281 /* HomeVC.swift in Sources */, 13D7BA982A4BD9040007E4B7 /* WelfareCouponsListVC.swift in Sources */, 138667F52A428E4000484FEA /* WelfareWeeklyDetailVC.swift in Sources */, 8DFA9B912A317DE900E99281 /* WelfareVC.swift in Sources */, 8D6D58D32A39970C0003CFE6 /* StoresInfoView.swift in Sources */, 139A39FD2A413C7900737AFB /* WelfareWeeklySubListVC.swift in Sources */, 13D7BA952A4BD4760007E4B7 /* BillInfoTCell.swift in Sources */, 130CE4532A4823AC00394384 /* StudentMedalCCell.swift in Sources */, 1378018D2A3B0BBD00414959 /* CourseOnlineHeadView.swift in Sources */, 1393B3922A4ACDB200B73072 /* CourseExerciseSubListVC.swift in Sources */, @@ -1158,12 +1240,14 @@ 131732BA2A405EF800F722AF /* CalendarDateTimeTCell.swift in Sources */, 8D6C50232A372B21007EC2D9 /* IDCardView.swift in Sources */, 137801932A3B0D3C00414959 /* CourseOnlineCCell.swift in Sources */, 136FD9AD2A4C2F0500933B7C /* RechargeItemCCell.swift in Sources */, 8D630BFB2A3180B000F0B7A8 /* BaseTabBarVC.swift in Sources */, 137801862A3B01FA00414959 /* ActivitySignupDetailVC.swift in Sources */, 137801A32A3C644200414959 /* CourseVideoDetailVC.swift in Sources */, 13EC6DDC2A493D23009FC09A /* WelfareCoinCCell.swift in Sources */, 138D8B932A4000D2009DCA9E /* YardTCell.swift in Sources */, 1378019B2A3BF5C000414959 /* CourseOnlineSubListVC.swift in Sources */, 13D606B42A4C29C2004F2A7A /* RechargeCenterVC.swift in Sources */, 8DAEB5502A305AEF00814766 /* Def.swift in Sources */, 8D8400D42A2F1430003AF6A2 /* SceneDelegate.swift in Sources */, 138D4CFF2A47EF4C005233E7 /* CourseDatetimeCCell.swift in Sources */, WanPai/Assets.xcassets/Bg/bg_welfare_coupon.imageset/Contents.json
@@ -5,12 +5,12 @@ "scale" : "1x" }, { "filename" : "bg_welfare_coupon@2x.png", "filename" : "未标题-1@2x.png", "idiom" : "universal", "scale" : "2x" }, { "filename" : "bg_welfare_coupon@3x.png", "filename" : "未标题-1@3x.png", "idiom" : "universal", "scale" : "3x" } WanPai/Assets.xcassets/Bg/bg_welfare_coupon.imageset/bg_welfare_coupon@2x.pngBinary files differ
WanPai/Assets.xcassets/Bg/bg_welfare_coupon.imageset/bg_welfare_coupon@3x.pngBinary files differ
WanPai/Assets.xcassets/Bg/bg_welfare_coupon.imageset/未标题-1@2x.png
WanPai/Assets.xcassets/Bg/bg_welfare_coupon.imageset/未标题-1@3x.png
WanPai/Assets.xcassets/Bg/bg_welfare_sup.imageset/bg_welfare_sup@2x.pngBinary files differ
WanPai/Assets.xcassets/Bg/bg_welfare_sup.imageset/bg_welfare_sup@3x.pngBinary files differ
WanPai/Assets.xcassets/Icons/icon_coupon_due.imageset/Contents.json
New file @@ -0,0 +1,22 @@ { "images" : [ { "idiom" : "universal", "scale" : "1x" }, { "filename" : "icon_coupon_due@2x.png", "idiom" : "universal", "scale" : "2x" }, { "filename" : "icon_coupon_due@3x.png", "idiom" : "universal", "scale" : "3x" } ], "info" : { "author" : "xcode", "version" : 1 } } WanPai/Assets.xcassets/Icons/icon_coupon_due.imageset/icon_coupon_due@2x.png
WanPai/Assets.xcassets/Icons/icon_coupon_due.imageset/icon_coupon_due@3x.png
WanPai/Assets.xcassets/Icons/icon_coupon_footer.imageset/Contents.json
@@ -7,11 +7,39 @@ { "filename" : "icon_coupon_footer@2x.png", "idiom" : "universal", "resizing" : { "cap-insets" : { "bottom" : 48, "left" : 20, "right" : 18, "top" : 37 }, "center" : { "height" : 1, "mode" : "tile", "width" : 1 }, "mode" : "9-part" }, "scale" : "2x" }, { "filename" : "icon_coupon_footer@3x.png", "idiom" : "universal", "resizing" : { "cap-insets" : { "bottom" : 79, "left" : 30, "right" : 27, "top" : 60 }, "center" : { "height" : 1, "mode" : "tile", "width" : 1 }, "mode" : "9-part" }, "scale" : "3x" } ], WanPai/Assets.xcassets/Icons/icon_coupon_header.imageset/Combined Shape@2x.png
WanPai/Assets.xcassets/Icons/icon_coupon_header.imageset/Combined Shape@3x.png
WanPai/Assets.xcassets/Icons/icon_coupon_header.imageset/Contents.json
@@ -5,13 +5,41 @@ "scale" : "1x" }, { "filename" : "icon_coupon_header@2x.png", "filename" : "Combined Shape@2x.png", "idiom" : "universal", "resizing" : { "cap-insets" : { "bottom" : 40, "left" : 20, "right" : 20, "top" : 35 }, "center" : { "height" : 1, "mode" : "tile", "width" : 1 }, "mode" : "9-part" }, "scale" : "2x" }, { "filename" : "icon_coupon_header@3x.png", "filename" : "Combined Shape@3x.png", "idiom" : "universal", "resizing" : { "cap-insets" : { "bottom" : 61, "left" : 30, "right" : 30, "top" : 54 }, "center" : { "height" : 1, "mode" : "tile", "width" : 1 }, "mode" : "9-part" }, "scale" : "3x" } ], WanPai/Assets.xcassets/Icons/icon_coupon_header.imageset/icon_coupon_header@2x.pngBinary files differ
WanPai/Assets.xcassets/Icons/icon_coupon_header.imageset/icon_coupon_header@3x.pngBinary files differ
WanPai/Assets.xcassets/Icons/icon_coupon_used.imageset/Contents.json
New file @@ -0,0 +1,22 @@ { "images" : [ { "idiom" : "universal", "scale" : "1x" }, { "filename" : "icon_coupon_used@2x.png", "idiom" : "universal", "scale" : "2x" }, { "filename" : "icon_coupon_used@3x.png", "idiom" : "universal", "scale" : "3x" } ], "info" : { "author" : "xcode", "version" : 1 } } WanPai/Assets.xcassets/Icons/icon_coupon_used.imageset/icon_coupon_used@2x.png
WanPai/Assets.xcassets/Icons/icon_coupon_used.imageset/icon_coupon_used@3x.png
WanPai/Assets.xcassets/Icons/icon_trigon_down.imageset/Contents.json
New file @@ -0,0 +1,22 @@ { "images" : [ { "idiom" : "universal", "scale" : "1x" }, { "filename" : "icon_trigon_down@2x.png", "idiom" : "universal", "scale" : "2x" }, { "filename" : "icon_trigon_down@3x.png", "idiom" : "universal", "scale" : "3x" } ], "info" : { "author" : "xcode", "version" : 1 } } WanPai/Assets.xcassets/Icons/icon_trigon_down.imageset/icon_trigon_down@2x.png
WanPai/Assets.xcassets/Icons/icon_trigon_down.imageset/icon_trigon_down@3x.png
WanPai/Assets.xcassets/Icons/icon_trigon_up.imageset/Contents.json
New file @@ -0,0 +1,22 @@ { "images" : [ { "idiom" : "universal", "scale" : "1x" }, { "filename" : "icon_trigon_up@2x.png", "idiom" : "universal", "scale" : "2x" }, { "filename" : "icon_trigon_up@3x.png", "idiom" : "universal", "scale" : "3x" } ], "info" : { "author" : "xcode", "version" : 1 } } WanPai/Assets.xcassets/Icons/icon_trigon_up.imageset/icon_trigon_up@2x.png
WanPai/Assets.xcassets/Icons/icon_trigon_up.imageset/icon_trigon_up@3x.png
WanPai/Base/BaseNav.swift
@@ -11,6 +11,10 @@ class BaseNav: UINavigationController,UINavigationControllerDelegate { private var popDelegate: UIGestureRecognizerDelegate? /// 需要透明Nav的VC private var lucencyVCs = [RechargeRecordVC.self,RechargeCenterVC.self] private let img = UIImage.jq_gradient([UIColor(hexStr: "#FD8C02"),UIColor(hexStr: "#FD7202")], size: CGSize(width: JQ_ScreenW, height: JQ_NavBarHeight), radius: 0, locations: [0,1], direction: .vertical) @@ -54,7 +58,10 @@ } open func navigationController(_ navigationController: UINavigationController, willShow viewController: UIViewController, animated: Bool) { if navigationController.viewControllers.count == 1{ let status = lucencyVCs.contains(where: {$0 == viewController.classForCoder}) if navigationController.viewControllers.count == 1 || status{ navigationBar.standardAppearance.backgroundImage = nil navigationBar.scrollEdgeAppearance?.backgroundImage = nil }else{ WanPai/Common/CCell/CommonSingleImgCCell.swift
New file @@ -0,0 +1,18 @@ // // CommonSingleImgCCell.swift // WanPai // // Created by 无故事王国 on 2023/6/28. // import UIKit class CommonSingleImgCCell: UICollectionViewCell { @IBOutlet weak var img: UIImageView! override func awakeFromNib() { super.awakeFromNib() // Initialization code } } WanPai/Common/CCell/CommonSingleImgCCell.xib
New file @@ -0,0 +1,39 @@ <?xml version="1.0" encoding="UTF-8"?> <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21701" 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="21679"/> <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"/> <collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" id="gTV-IL-0wX" customClass="CommonSingleImgCCell" customModule="WanPai" customModuleProvider="target"> <rect key="frame" x="0.0" y="0.0" width="320" height="150"/> <autoresizingMask key="autoresizingMask"/> <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center"> <rect key="frame" x="0.0" y="0.0" width="320" height="150"/> <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> <subviews> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="gCZ-Wl-L6T"> <rect key="frame" x="0.0" y="0.0" width="320" height="150"/> </imageView> </subviews> </view> <viewLayoutGuide key="safeArea" id="ZTg-uK-7eu"/> <constraints> <constraint firstItem="gCZ-Wl-L6T" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" id="BMG-Ya-wwe"/> <constraint firstAttribute="bottom" secondItem="gCZ-Wl-L6T" secondAttribute="bottom" id="Nxa-Ww-7gb"/> <constraint firstItem="gCZ-Wl-L6T" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" id="ctb-wC-mDo"/> <constraint firstAttribute="trailing" secondItem="gCZ-Wl-L6T" secondAttribute="trailing" id="uzA-10-Q2K"/> </constraints> <size key="customSize" width="320" height="150"/> <connections> <outlet property="img" destination="gCZ-Wl-L6T" id="5v9-KQ-Yit"/> </connections> <point key="canvasLocation" x="268.70229007633588" y="55.633802816901408"/> </collectionViewCell> </objects> </document> WanPai/Root/Course/TCell/StudentRemarkTCell.swift
@@ -6,11 +6,52 @@ // import UIKit import JQTools class StudentRemarkTCell: UITableViewCell { private let cellW:Double = (JQ_ScreenW - 48.0) / 3.0 @IBOutlet weak var collectionView: UICollectionView! @IBOutlet weak var cons_imgHei: NSLayoutConstraint! override func awakeFromNib() { super.awakeFromNib() selectionStyle = .none collectionView.delegate = self collectionView.dataSource = self collectionView.isScrollEnabled = false collectionView.register(UINib(nibName: "CommonSingleImgCCell", bundle: nil), forCellWithReuseIdentifier: "_CommonSingleImgCCell") cons_imgHei.constant = ceil(9 / 3) * cellW + floor(9 / 3) * 9 } } extension StudentRemarkTCell:UICollectionViewDataSource{ func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "_CommonSingleImgCCell", for: indexPath) as! CommonSingleImgCCell cell.img.backgroundColor = .gray.withAlphaComponent(0.1) return cell } func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { return 9 } } extension StudentRemarkTCell:UICollectionViewDelegate{ } extension StudentRemarkTCell:UICollectionViewDelegateFlowLayout{ func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { return CGSize(width: cellW, height: cellW) } func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat { return 9 } func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat { return 9 } } WanPai/Root/Course/TCell/StudentRemarkTCell.xib
@@ -48,13 +48,13 @@ <nil key="highlightedColor"/> </label> <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="O3C-wY-L24"> <rect key="frame" x="14" y="88" width="519" height="89.333333333333314"/> <rect key="frame" x="14" y="88" width="519" height="99.333333333333314"/> <fontDescription key="fontDescription" type="system" pointSize="12"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" dataMode="none" translatesAutoresizingMaskIntoConstraints="NO" id="FUt-hS-RCI"> <rect key="frame" x="14" y="186.33333333333334" width="519" height="110.00000000000003"/> <rect key="frame" x="14" y="196.33333333333334" width="519" height="110.00000000000003"/> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstAttribute="height" constant="110" id="srQ-wE-MVo"/> @@ -83,7 +83,7 @@ <constraint firstAttribute="trailing" secondItem="FUt-hS-RCI" secondAttribute="trailing" constant="14" id="VwO-8t-bCd"/> <constraint firstItem="kdZ-BD-JCJ" firstAttribute="top" secondItem="tlQ-xi-7GI" secondAttribute="top" constant="7" id="XUD-Y3-2Ip"/> <constraint firstAttribute="trailing" secondItem="3lz-fy-AFT" secondAttribute="trailing" constant="14" id="YDD-0W-Mjx"/> <constraint firstItem="3lz-fy-AFT" firstAttribute="top" secondItem="FUt-hS-RCI" secondAttribute="bottom" constant="17" id="bU5-rC-0dc"/> <constraint firstItem="3lz-fy-AFT" firstAttribute="top" secondItem="FUt-hS-RCI" secondAttribute="bottom" constant="7" id="bU5-rC-0dc"/> <constraint firstItem="tlQ-xi-7GI" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="14" id="fVa-VF-cFk"/> <constraint firstItem="kdZ-BD-JCJ" firstAttribute="leading" secondItem="tlQ-xi-7GI" secondAttribute="trailing" constant="10" id="g1R-b3-h48"/> <constraint firstAttribute="trailing" secondItem="O3C-wY-L24" secondAttribute="trailing" constant="14" id="kCD-tp-cY7"/> @@ -94,6 +94,10 @@ </constraints> </tableViewCellContentView> <viewLayoutGuide key="safeArea" id="njF-e1-oar"/> <connections> <outlet property="collectionView" destination="FUt-hS-RCI" id="WNg-rS-H71"/> <outlet property="cons_imgHei" destination="srQ-wE-MVo" id="s4Q-TL-9og"/> </connections> <point key="canvasLocation" x="235.87786259541983" y="115.49295774647888"/> </tableViewCell> </objects> WanPai/Root/Course/VC/CourseInfoVC.swift
@@ -128,6 +128,7 @@ mentalCollectionView.dataSource = self mentalCollectionView.contentInset = UIEdgeInsets(top: 0, left: 58, bottom: 0, right: 58) mentalCollectionView.tag = 1000 mentalCollectionView.isScrollEnabled = false mentalCollectionView.register(UINib(nibName: "StudentMedalCCell", bundle: nil), forCellWithReuseIdentifier: "_StudentMedalCCell") exerciseCollectionView.delegate = self @@ -143,7 +144,7 @@ mentals.append(MentalInfo(img: UIImage(named: "icon_coupon_5"), t1: "EVENTS", t2: "月度冠军")) mentals.append(MentalInfo(img: UIImage(named: "icon_coupon_6"), t1: "MORE", t2: "更多")) cons_mentalViewHei.constant = ceil(Double(mentals.count) / 2) * 91 cons_mentalViewHei.constant = ceil(Double(mentals.count) / 3) * 91 + floor(Double(mentals.count) / 3) * 30 navigationItem.leftBarButtonItem = UIBarButtonItem(customView: leftBtn) WanPai/Root/Course/VC/CourseInfoVC.xib
@@ -49,7 +49,7 @@ </constraints> </view> <scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="fJF-28-SsM" customClass="CourseInfoScrollView" customModule="WanPai" customModuleProvider="target"> <rect key="frame" x="0.0" y="0.0" width="393" height="852"/> <rect key="frame" x="0.0" y="0.0" width="393" height="818"/> <subviews> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="placeholder_1" translatesAutoresizingMaskIntoConstraints="NO" id="r6S-MR-7fc"> <rect key="frame" x="145.66666666666666" y="-51" width="102" height="102"/> @@ -77,7 +77,7 @@ </userDefinedRuntimeAttributes> </imageView> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="dM8-7c-aXP"> <rect key="frame" x="0.0" y="0.0" width="393" height="1161.3333333333333"/> <rect key="frame" x="0.0" y="0.0" width="393" height="1141.3333333333333"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="学员名" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="egC-eg-thJ"> <rect key="frame" x="27" y="37" width="64.333333333333329" height="29"/> @@ -441,7 +441,7 @@ </collectionViewFlowLayout> </collectionView> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Okg-Yc-buM"> <rect key="frame" x="100" y="819.33333333333337" width="193" height="40"/> <rect key="frame" x="100" y="799.33333333333337" width="193" height="40"/> <color key="backgroundColor" name="FE6E0D"/> <constraints> <constraint firstAttribute="height" constant="40" id="rQm-Bd-Kpj"/> @@ -523,14 +523,14 @@ </userDefinedRuntimeAttributes> </tableView> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Tc8-tf-Jm4"> <rect key="frame" x="19" y="896.33333333333337" width="355" height="1"/> <rect key="frame" x="19" y="876.33333333333337" width="355" height="1"/> <color key="backgroundColor" red="0.59215686274509804" green="0.59215686274509804" blue="0.59215686274509804" alpha="0.25" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstAttribute="height" constant="1" id="zCQ-gS-bAL"/> </constraints> </view> <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="wNl-09-jiS"> <rect key="frame" x="22" y="897.33333333333348" width="349" height="264"/> <rect key="frame" x="22" y="877.33333333333337" width="349" height="264.00000000000011"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="KR4-hI-8vp"> <rect key="frame" x="0.0" y="0.0" width="349" height="53"/> @@ -649,7 +649,7 @@ <constraint firstItem="Ojc-7l-9aZ" firstAttribute="leading" secondItem="dM8-7c-aXP" secondAttribute="leading" constant="19" id="iwm-mn-Q3j"/> <constraint firstItem="clG-di-bFf" firstAttribute="leading" secondItem="s1y-gM-ejj" secondAttribute="trailing" constant="8" id="jD4-u8-AbG"/> <constraint firstAttribute="trailing" secondItem="b9G-TL-PI1" secondAttribute="trailing" id="kUc-2f-uS8"/> <constraint firstItem="Okg-Yc-buM" firstAttribute="top" secondItem="b9G-TL-PI1" secondAttribute="bottom" constant="37" id="lV4-8e-Z9f"/> <constraint firstItem="Okg-Yc-buM" firstAttribute="top" secondItem="b9G-TL-PI1" secondAttribute="bottom" constant="17" id="lV4-8e-Z9f"/> <constraint firstAttribute="bottom" secondItem="wNl-09-jiS" secondAttribute="bottom" id="ld4-jQ-Q11"/> <constraint firstItem="2CP-x2-Qn7" firstAttribute="centerY" secondItem="s1y-gM-ejj" secondAttribute="centerY" id="mwb-cW-nv3"/> <constraint firstItem="N78-t5-4OO" firstAttribute="centerX" secondItem="dM8-7c-aXP" secondAttribute="centerX" id="psh-NY-wpI"/> @@ -686,7 +686,7 @@ <constraints> <constraint firstItem="k4g-ye-Foy" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="8Hh-uE-kE0"/> <constraint firstAttribute="trailing" secondItem="k4g-ye-Foy" secondAttribute="trailing" id="FT3-Sh-CcL"/> <constraint firstAttribute="bottom" secondItem="fJF-28-SsM" secondAttribute="bottom" id="G7z-kv-QFI"/> <constraint firstAttribute="bottomMargin" secondItem="fJF-28-SsM" secondAttribute="bottom" id="Le4-vl-STS"/> <constraint firstItem="fJF-28-SsM" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="MXo-KH-2q0"/> <constraint firstItem="k4g-ye-Foy" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="fEO-CF-1my"/> <constraint firstAttribute="trailing" secondItem="fJF-28-SsM" secondAttribute="trailing" id="kTB-hp-bZH"/> WanPai/Root/Course/VC/StudentCourseDetailVC.swift
@@ -105,13 +105,8 @@ backgroundColor = .white addSubview(btn_datetime) btn_datetime.snp.makeConstraints { make in make.left.equalTo(14) make.height.equalTo(22) make.bottom.equalTo(-16) } addSubview(btn_filter) btn_filter.snp.makeConstraints { make in make.right.equalTo(-14) make.height.equalTo(38) @@ -119,6 +114,12 @@ make.bottom.equalTo(-16) } btn_datetime.snp.makeConstraints { make in make.left.equalTo(14) make.height.equalTo(22) make.centerY.equalTo(btn_filter) } btn_filter.addTarget(self, action: #selector(fliterAction), for: .touchUpInside) btn_datetime.addTarget(self, action: #selector(datetimePickerAction), for: .touchUpInside) } WanPai/Root/Other/VC/ProfileVC.swift
New file @@ -0,0 +1,18 @@ // // ProfileVC.swift // WanPai // // Created by 无故事王国 on 2023/6/28. // import UIKit class ProfileVC: BaseVC { override func viewDidLoad() { super.viewDidLoad() title = "个人信息" } } WanPai/Root/Other/VC/ProfileVC.xib
New file @@ -0,0 +1,22 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="13142" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES"> <dependencies> <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12042"/> <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" customClass="ProfileVC" customModuleProvider="target"> <connections> <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> </connections> </placeholder> <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT"> <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/> <viewLayoutGuide key="safeArea" id="fnl-2z-Ty3"/> </view> </objects> </document> WanPai/Root/Welfare/CCell/RechargeItemCCell.swift
New file @@ -0,0 +1,40 @@ // // RechargeItemCCell.swift // WanPai // // Created by 无故事王国 on 2023/6/28. // import UIKit import JQTools class RechargeItemCCell: UICollectionViewCell { @IBOutlet weak var view_container: UIView! @IBOutlet weak var label_coin: UILabel! @IBOutlet weak var label_moeny: UILabel! override func awakeFromNib() { super.awakeFromNib() view_container.jq_borderWidth = 1 view_container.jq_cornerRadius = 4 } override var isSelected: Bool{ didSet{ if isSelected{ view_container.backgroundColor = Def_ThemeColor.withAlphaComponent(0.12) view_container.jq_borderColor = Def_ThemeColor label_coin.textColor = Def_ThemeColor label_moeny.textColor = Def_ThemeColor }else{ view_container.backgroundColor = UIColor(hexStr: "#A6A6A6").withAlphaComponent(0.12) view_container.jq_borderColor = UIColor(hexStr: "#7B7B7B") label_coin.textColor = UIColor(hexStr: "#7B7B7B") label_moeny.textColor = UIColor(hexStr: "#7B7B7B") } } } } WanPai/Root/Welfare/CCell/RechargeItemCCell.xib
New file @@ -0,0 +1,74 @@ <?xml version="1.0" encoding="UTF-8"?> <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21701" 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="21679"/> <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"/> <collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" id="gTV-IL-0wX" customClass="RechargeItemCCell" customModule="WanPai" customModuleProvider="target"> <rect key="frame" x="0.0" y="0.0" width="129" height="82"/> <autoresizingMask key="autoresizingMask"/> <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center"> <rect key="frame" x="0.0" y="0.0" width="129" height="82"/> <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="yU4-S2-ZAV"> <rect key="frame" x="0.0" y="0.0" width="129" height="82"/> <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="Nxm-Kt-pDI"> <rect key="frame" x="51.333333333333336" y="5" width="26.666666666666664" height="22"/> <constraints> <constraint firstAttribute="height" constant="22" id="Wzm-XT-O1C"/> </constraints> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="16"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="¥0" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="711-k3-ZXI"> <rect key="frame" x="56.666666666666664" y="30" width="15.666666666666664" height="17"/> <constraints> <constraint firstAttribute="height" constant="17" id="WAA-Q5-C7M"/> </constraints> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="12"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> </subviews> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstItem="Nxm-Kt-pDI" firstAttribute="centerX" secondItem="yU4-S2-ZAV" secondAttribute="centerX" id="2xo-Wt-NIa"/> <constraint firstItem="711-k3-ZXI" firstAttribute="centerX" secondItem="Nxm-Kt-pDI" secondAttribute="centerX" id="Tq5-KJ-H4V"/> <constraint firstItem="711-k3-ZXI" firstAttribute="top" secondItem="Nxm-Kt-pDI" secondAttribute="bottom" constant="3" id="WDB-sM-r0d"/> <constraint firstItem="Nxm-Kt-pDI" firstAttribute="top" secondItem="yU4-S2-ZAV" secondAttribute="top" constant="5" id="myr-tk-rEZ"/> </constraints> </view> </subviews> </view> <viewLayoutGuide key="safeArea" id="ZTg-uK-7eu"/> <constraints> <constraint firstItem="yU4-S2-ZAV" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" id="A08-nR-8Ky"/> <constraint firstAttribute="trailing" secondItem="yU4-S2-ZAV" secondAttribute="trailing" id="F5P-Do-4B3"/> <constraint firstAttribute="bottom" secondItem="yU4-S2-ZAV" secondAttribute="bottom" id="cEi-EQ-HzQ"/> <constraint firstItem="yU4-S2-ZAV" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" id="gSk-6j-36i"/> </constraints> <size key="customSize" width="129" height="82"/> <connections> <outlet property="label_coin" destination="Nxm-Kt-pDI" id="tgc-0S-ecz"/> <outlet property="label_moeny" destination="711-k3-ZXI" id="r16-W2-ftX"/> <outlet property="view_container" destination="yU4-S2-ZAV" id="Vwb-pR-6oz"/> </connections> <point key="canvasLocation" x="122.90076335877862" y="31.690140845070424"/> </collectionViewCell> </objects> <resources> <systemColor name="systemBackgroundColor"> <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> </systemColor> </resources> </document> WanPai/Root/Welfare/TCell/BillInfoTCell.swift
New file @@ -0,0 +1,16 @@ // // BillInfoTCell.swift // WanPai // // Created by 无故事王国 on 2023/6/28. // import UIKit class BillInfoTCell: UITableViewCell { override func awakeFromNib() { super.awakeFromNib() selectionStyle = .none } } WanPai/Root/Welfare/TCell/BillInfoTCell.xib
New file @@ -0,0 +1,69 @@ <?xml version="1.0" encoding="UTF-8"?> <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21701" 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="21679"/> <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="_BillInfoTCell" rowHeight="79" id="KGk-i7-Jjw" customClass="BillInfoTCell" customModule="WanPai" customModuleProvider="target"> <rect key="frame" x="0.0" y="0.0" width="427" height="79"/> <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="427" height="79"/> <autoresizingMask key="autoresizingMask"/> <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="Zkg-Wm-X00"> <rect key="frame" x="14" y="13" width="32.333333333333336" height="17"/> <constraints> <constraint firstAttribute="height" constant="17" id="rfJ-uE-jBi"/> </constraints> <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="12"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="00-00 00:00" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="E35-Uh-3aK"> <rect key="frame" x="14" y="36" width="73.333333333333329" height="27.666666666666671"/> <fontDescription key="fontDescription" type="system" pointSize="12"/> <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.40000000000000002" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="wNn-VN-t4h"> <rect key="frame" x="404" y="31" width="8" height="17"/> <constraints> <constraint firstAttribute="height" constant="17" id="KVU-Xe-eio"/> </constraints> <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="12"/> <color key="textColor" red="0.16470588235294117" green="0.65098039215686276" blue="0.043137254901960784" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ia0-q3-9HR"> <rect key="frame" x="14" y="78.666666666666671" width="399" height="0.3333333333333286"/> <color key="backgroundColor" red="0.85882352941176465" green="0.85882352941176465" blue="0.90588235294117647" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstAttribute="height" constant="0.5" id="urQ-KK-8fz"/> </constraints> </view> </subviews> <constraints> <constraint firstItem="wNn-VN-t4h" firstAttribute="centerY" secondItem="H2p-sc-9uM" secondAttribute="centerY" id="Buo-ZI-JLL"/> <constraint firstItem="ia0-q3-9HR" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="14" id="DB1-Dt-uHq"/> <constraint firstItem="E35-Uh-3aK" firstAttribute="top" secondItem="Zkg-Wm-X00" secondAttribute="bottom" constant="6" id="N8d-af-xbK"/> <constraint firstAttribute="bottom" secondItem="ia0-q3-9HR" secondAttribute="bottom" id="b7D-IT-ywM"/> <constraint firstItem="ia0-q3-9HR" firstAttribute="top" secondItem="E35-Uh-3aK" secondAttribute="bottom" constant="15" id="fhb-3m-205"/> <constraint firstItem="E35-Uh-3aK" firstAttribute="leading" secondItem="Zkg-Wm-X00" secondAttribute="leading" id="hJK-8k-MvJ"/> <constraint firstItem="Zkg-Wm-X00" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="13" id="lwi-3W-AMs"/> <constraint firstAttribute="trailing" secondItem="ia0-q3-9HR" secondAttribute="trailing" constant="14" id="mt8-9d-Br5"/> <constraint firstAttribute="trailing" secondItem="wNn-VN-t4h" secondAttribute="trailing" constant="15" id="orU-hy-1Qi"/> <constraint firstItem="Zkg-Wm-X00" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="14" id="wZb-vH-CO6"/> </constraints> </tableViewCellContentView> <viewLayoutGuide key="safeArea" id="njF-e1-oar"/> <point key="canvasLocation" x="144.27480916030532" y="32.74647887323944"/> </tableViewCell> </objects> </document> WanPai/Root/Welfare/TCell/WelfareCouponsTCell.swift
New file @@ -0,0 +1,44 @@ // // WelfareCouponsTCell.swift // WanPai // // Created by 无故事王国 on 2023/6/28. // import UIKit import QMUIKit import JQTools class WelfareCouponsTCell: UITableViewCell { @IBOutlet weak var btn_info: QMUIButton! @IBOutlet weak var view_line: UIView! @IBOutlet weak var label_info: UILabel! @IBOutlet weak var cons_labelHei: NSLayoutConstraint! var indexPath:IndexPath! override func awakeFromNib() { super.awakeFromNib() selectionStyle = .none btn_info.imagePosition = .right btn_info.spacingBetweenImageAndTitle = 3 view_line.isHidden = true label_info.isHidden = true } @IBAction func infoTapAction(_ sender: QMUIButton) { sender.isSelected = !sender.isSelected view_line.isHidden = !sender.isSelected label_info.isHidden = !sender.isSelected if !sender.isSelected{ cons_labelHei.constant = String.jq_getHeight(text: label_info.text!, width: JQ_ScreenW - 153, font: 12) }else{ cons_labelHei.constant = 17 } NotificationCenter.default.post(name: WelfareCoupons_Noti, object: indexPath.row as Int) } @IBAction func showDetailAction(_ sender: UIButton) { AgreentView.show(type: .privacy) } } WanPai/Root/Welfare/TCell/WelfareCouponsTCell.xib
New file @@ -0,0 +1,206 @@ <?xml version="1.0" encoding="UTF-8"?> <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21701" 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="21679"/> <capability name="System colors in document resources" minToolsVersion="11.0"/> <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> </dependencies> <objects> <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/> <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> <tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" reuseIdentifier="_WelfareCouponsTCell" rowHeight="212" id="KGk-i7-Jjw" customClass="WelfareCouponsTCell" customModule="WanPai" customModuleProvider="target"> <rect key="frame" x="0.0" y="0.0" width="409" height="212"/> <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="409" height="212"/> <autoresizingMask key="autoresizingMask"/> <subviews> <view contentMode="scaleAspectFill" translatesAutoresizingMaskIntoConstraints="NO" id="ZhQ-JM-XIl"> <rect key="frame" x="14" y="7.6666666666666714" width="100" height="135.66666666666663"/> <subviews> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_coupon_header" translatesAutoresizingMaskIntoConstraints="NO" id="wLK-TU-eK6"> <rect key="frame" x="0.0" y="0.0" width="100" height="135.66666666666666"/> </imageView> <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="16" translatesAutoresizingMaskIntoConstraints="NO" id="m8J-DK-my1"> <rect key="frame" x="5" y="37.333333333333343" width="90" height="61"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="¥ 0" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="efu-ap-jzG"> <rect key="frame" x="0.0" y="0.0" width="90" height="28"/> <constraints> <constraint firstAttribute="height" constant="28" id="V4k-aB-f7A"/> </constraints> <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="24"/> <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="满0可用" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Swu-3s-t08"> <rect key="frame" x="0.0" y="43.999999999999993" width="90" height="17"/> <constraints> <constraint firstAttribute="height" constant="17" id="bJ6-wC-a6S"/> </constraints> <fontDescription key="fontDescription" type="system" pointSize="12"/> <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> </subviews> </stackView> </subviews> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstItem="m8J-DK-my1" firstAttribute="leading" secondItem="ZhQ-JM-XIl" secondAttribute="leading" constant="5" id="AZR-EN-EtN"/> <constraint firstItem="m8J-DK-my1" firstAttribute="centerY" secondItem="wLK-TU-eK6" secondAttribute="centerY" id="JKh-d8-br0"/> <constraint firstItem="m8J-DK-my1" firstAttribute="centerX" secondItem="wLK-TU-eK6" secondAttribute="centerX" id="M3w-wV-qzs"/> <constraint firstItem="wLK-TU-eK6" firstAttribute="leading" secondItem="ZhQ-JM-XIl" secondAttribute="leading" id="SGF-Ei-e33"/> <constraint firstAttribute="trailing" secondItem="m8J-DK-my1" secondAttribute="trailing" constant="5" id="bic-HE-13P"/> <constraint firstAttribute="width" constant="100" id="h2z-hz-to7"/> <constraint firstAttribute="bottom" secondItem="wLK-TU-eK6" secondAttribute="bottom" id="o3o-Sv-mbT"/> <constraint firstItem="wLK-TU-eK6" firstAttribute="top" secondItem="ZhQ-JM-XIl" secondAttribute="top" id="wii-pz-Jme"/> <constraint firstAttribute="trailing" secondItem="wLK-TU-eK6" secondAttribute="trailing" id="zI9-80-5hd"/> </constraints> </view> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="htP-hm-rxQ"> <rect key="frame" x="114" y="7.6666666666666714" width="281" height="135.33333333333331"/> <subviews> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_coupon_footer" translatesAutoresizingMaskIntoConstraints="NO" id="fT4-6g-L0m"> <rect key="frame" x="0.0" y="0.0" width="281" height="135.33333333333334"/> </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="G7I-Sh-sFL"> <rect key="frame" x="15" y="8" width="195" height="25"/> <constraints> <constraint firstAttribute="height" constant="25" id="YCd-Do-fVS"/> </constraints> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="18"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="有效期至 --" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="5BW-jy-SC9"> <rect key="frame" x="15" y="36" width="64" height="17"/> <constraints> <constraint firstAttribute="height" constant="17" id="SG0-sw-1at"/> </constraints> <fontDescription key="fontDescription" type="system" weight="medium" 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> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="--门店可用" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="9T6-ag-k9m"> <rect key="frame" x="14.999999999999996" y="56" width="60.666666666666657" height="17"/> <constraints> <constraint firstAttribute="height" constant="17" id="mwk-uL-whZ"/> </constraints> <fontDescription key="fontDescription" type="system" weight="medium" 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> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Aod-kc-Nc3"> <rect key="frame" x="79.666666666666657" y="51" width="50" height="27"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="12"/> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <state key="normal" title="查看详情"> <color key="titleColor" red="0.0" green="0.28235294117647058" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> </state> <connections> <action selector="showDetailAction:" destination="KGk-i7-Jjw" eventType="touchUpInside" id="BIF-uo-WNl"/> </connections> </button> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_coupon_used" translatesAutoresizingMaskIntoConstraints="NO" id="bwC-Qg-DNl"> <rect key="frame" x="220" y="13" width="56" height="43"/> <constraints> <constraint firstAttribute="height" constant="43" id="2Jg-Wg-2Jr"/> <constraint firstAttribute="width" constant="56" id="5bg-qG-f6G"/> </constraints> </imageView> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Osp-YM-6Uw" customClass="QMUIButton"> <rect key="frame" x="15" y="76" width="70" height="17"/> <constraints> <constraint firstAttribute="height" constant="17" id="Pja-xg-qDo"/> </constraints> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="12"/> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <state key="normal" title="优惠券说明" image="icon_trigon_down"> <color key="titleColor" red="0.0" green="0.0" blue="0.0" alpha="0.59999999999999998" colorSpace="custom" customColorSpace="sRGB"/> </state> <state key="selected" image="icon_trigon_up"/> <connections> <action selector="infoTapAction:" destination="KGk-i7-Jjw" eventType="touchUpInside" id="IJg-7t-ZCS"/> </connections> </button> <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="9" translatesAutoresizingMaskIntoConstraints="NO" id="fpg-MK-829"> <rect key="frame" x="15" y="104" width="256" height="24.333333333333343"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Idc-Qp-xg4"> <rect key="frame" x="0.0" y="0.0" width="256" height="1"/> <color key="backgroundColor" red="0.59215686274509804" green="0.59215686274509804" blue="0.59215686274509804" alpha="0.16" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstAttribute="height" constant="1" id="gIf-Fm-Av1"/> </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="otH-gu-7hx"> <rect key="frame" x="0.0" y="10" width="256" height="14.333333333333336"/> <constraints> <constraint firstAttribute="height" constant="17" id="Bhz-uE-F2F"/> </constraints> <fontDescription key="fontDescription" type="system" pointSize="12"/> <color key="textColor" red="0.23137254901960785" green="0.23137254901960785" blue="0.23137254901960785" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> </subviews> </stackView> </subviews> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstItem="9T6-ag-k9m" firstAttribute="top" secondItem="5BW-jy-SC9" secondAttribute="bottom" constant="3" id="0D8-rg-2t4"/> <constraint firstAttribute="trailing" secondItem="fT4-6g-L0m" secondAttribute="trailing" id="1rt-21-G77"/> <constraint firstItem="fT4-6g-L0m" firstAttribute="leading" secondItem="htP-hm-rxQ" secondAttribute="leading" id="2Dm-sq-3No"/> <constraint firstItem="5BW-jy-SC9" firstAttribute="top" secondItem="G7I-Sh-sFL" secondAttribute="bottom" constant="3" id="2uK-cx-azl"/> <constraint firstItem="bwC-Qg-DNl" firstAttribute="top" secondItem="htP-hm-rxQ" secondAttribute="top" constant="13" id="BbP-1j-qbj"/> <constraint firstAttribute="trailing" secondItem="bwC-Qg-DNl" secondAttribute="trailing" constant="5" id="C2A-lN-hOf"/> <constraint firstAttribute="trailing" secondItem="fpg-MK-829" secondAttribute="trailing" constant="10" id="CWH-E3-nn9"/> <constraint firstItem="Osp-YM-6Uw" firstAttribute="leading" secondItem="G7I-Sh-sFL" secondAttribute="leading" id="Hd2-In-Wmh"/> <constraint firstItem="fpg-MK-829" firstAttribute="leading" secondItem="G7I-Sh-sFL" secondAttribute="leading" id="I6Y-fk-qsO"/> <constraint firstAttribute="bottom" secondItem="fT4-6g-L0m" secondAttribute="bottom" id="Izc-PX-GFJ"/> <constraint firstItem="5BW-jy-SC9" firstAttribute="leading" secondItem="G7I-Sh-sFL" secondAttribute="leading" id="LMw-VW-ZH0"/> <constraint firstItem="fT4-6g-L0m" firstAttribute="top" secondItem="htP-hm-rxQ" secondAttribute="top" id="S8h-Ep-AtT"/> <constraint firstItem="G7I-Sh-sFL" firstAttribute="leading" secondItem="htP-hm-rxQ" secondAttribute="leading" constant="15" id="SiL-Cg-tTN"/> <constraint firstItem="G7I-Sh-sFL" firstAttribute="top" secondItem="htP-hm-rxQ" secondAttribute="top" constant="8" id="ZPO-eZ-lUg"/> <constraint firstItem="Aod-kc-Nc3" firstAttribute="centerY" secondItem="9T6-ag-k9m" secondAttribute="centerY" id="Zzy-qH-Uh1"/> <constraint firstItem="Aod-kc-Nc3" firstAttribute="leading" secondItem="9T6-ag-k9m" secondAttribute="trailing" constant="4" id="cUQ-rZ-40D"/> <constraint firstAttribute="bottom" secondItem="fpg-MK-829" secondAttribute="bottom" constant="7" id="eik-OT-R5a"/> <constraint firstItem="Osp-YM-6Uw" firstAttribute="top" secondItem="9T6-ag-k9m" secondAttribute="bottom" constant="3" id="emP-CA-SjG"/> <constraint firstItem="bwC-Qg-DNl" firstAttribute="leading" secondItem="G7I-Sh-sFL" secondAttribute="trailing" constant="10" id="f0U-Fv-9C9"/> <constraint firstItem="fpg-MK-829" firstAttribute="top" secondItem="Osp-YM-6Uw" secondAttribute="bottom" constant="11" id="oKS-Hz-BTy"/> <constraint firstItem="9T6-ag-k9m" firstAttribute="leading" secondItem="G7I-Sh-sFL" secondAttribute="leading" id="uDC-BI-Rjr"/> </constraints> </view> </subviews> <constraints> <constraint firstItem="htP-hm-rxQ" firstAttribute="leading" secondItem="ZhQ-JM-XIl" secondAttribute="trailing" id="ADp-0m-bua"/> <constraint firstItem="ZhQ-JM-XIl" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="14" id="MhN-Oc-jtX"/> <constraint firstAttribute="bottom" secondItem="htP-hm-rxQ" secondAttribute="bottom" constant="7.5" id="Mhu-NB-9R8"/> <constraint firstItem="htP-hm-rxQ" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="7.5" id="NC4-Rd-Itq"/> <constraint firstItem="ZhQ-JM-XIl" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="7.5" id="VDR-7Y-59i"/> <constraint firstAttribute="bottom" secondItem="ZhQ-JM-XIl" secondAttribute="bottom" constant="7" id="kEg-xo-eAe"/> <constraint firstAttribute="trailing" secondItem="htP-hm-rxQ" secondAttribute="trailing" constant="14" id="s9x-jX-KOO"/> </constraints> </tableViewCellContentView> <connections> <outlet property="btn_info" destination="Osp-YM-6Uw" id="KTk-At-Veb"/> <outlet property="cons_labelHei" destination="Bhz-uE-F2F" id="YnU-Cl-Hi0"/> <outlet property="label_info" destination="otH-gu-7hx" id="JSu-Vb-xXL"/> <outlet property="view_line" destination="Idc-Qp-xg4" id="qgz-C4-7oJ"/> </connections> <point key="canvasLocation" x="104.58015267175573" y="55.633802816901408"/> </tableViewCell> </objects> <resources> <image name="icon_coupon_footer" width="19.333333969116211" height="46.666667938232422"/> <image name="icon_coupon_header" width="20.333333969116211" height="38.666667938232422"/> <image name="icon_coupon_used" width="56" height="43"/> <image name="icon_trigon_down" width="8" height="5"/> <image name="icon_trigon_up" width="8" height="5"/> <systemColor name="systemBackgroundColor"> <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> </systemColor> </resources> </document> WanPai/Root/Welfare/VC/RechargeCenterVC.swift
New file @@ -0,0 +1,102 @@ // // RechargeCenterVC.swift // WanPai // // Created by 无故事王国 on 2023/6/28. // import UIKit import JQTools import QMUIKit class RechargeCenterVC: BaseVC { struct RechargeItem { var coin = 0 var money = 0 } @IBOutlet weak var view_topBg: UIView! @IBOutlet weak var view_cion: JQ_RollNumberLabel! @IBOutlet weak var btn_rechange: UIButton! @IBOutlet weak var view_container: UIView! @IBOutlet weak var btn_rechargeInfo: UIButton! @IBOutlet weak var collectionView: UICollectionView! private var items = [RechargeItem]() private let cellW = (JQ_ScreenW - 90) / 3.0 private let cellH = ((JQ_ScreenW - 90) / 3.0) * 0.5148 private var selectIndex = 0 override func viewDidLoad() { super.viewDidLoad() title = "充值中心" view_cion.font = UIFont.init(name: "Impact", size: 36)! view_cion.textColor = .white view_cion.valueNumber = NSNumber(value: 22199) items.append(RechargeItem(coin: 100, money: 90)) items.append(RechargeItem(coin: 150, money: 100)) items.append(RechargeItem(coin: 200, money: 150)) items.append(RechargeItem(coin: 500, money: 350)) items.append(RechargeItem(coin: 1000, money: 500)) } override func setUI() { let colors = [UIColor(hexStr: "#FD8C02").cgColor, UIColor(hexStr: "#FD7202").cgColor,] view_topBg.jq_gradientColor(colorArr: colors) btn_rechange.jq_gradientNibColor(colorArr: colors, cornerRadius: 20) let attribute = AttributedStringbuilder() attribute.add(string: "储值说明?", withFont: UIFont.systemFont(ofSize: 14), withColor: Def_ThemeColor) attribute.underLine(color: Def_ThemeColor) btn_rechargeInfo.titleLabel?.attributedText = attribute.mutableAttributedString collectionView.delegate = self collectionView.dataSource = self collectionView.isScrollEnabled = false collectionView.contentInset = UIEdgeInsets(top: 0, left: 12, bottom: 0, right: 12) collectionView.register(UINib(nibName: "RechargeItemCCell", bundle: nil), forCellWithReuseIdentifier: "_RechargeItemCCell") } @IBAction func rechargeAction(_ sender: UIButton) { PaymentView.show { status in let result:PaymentResultVC.PaymentResult = status ? .success:.fail let vc = PaymentResultVC(result: result, objType: .activityApply) vc.modalPresentationStyle = .fullScreen self.present(vc, animated: true) } } } extension RechargeCenterVC:UICollectionViewDelegate{ } extension RechargeCenterVC:UICollectionViewDataSource{ func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "_RechargeItemCCell", for:indexPath) as! RechargeItemCCell cell.isSelected = indexPath.row == selectIndex return cell } func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { return items.count } } extension RechargeCenterVC:UICollectionViewDelegateFlowLayout{ func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat { return 18 } func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat { return 18 } func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { return CGSize(width: cellW, height: cellH) } } WanPai/Root/Welfare/VC/RechargeCenterVC.xib
New file @@ -0,0 +1,152 @@ <?xml version="1.0" encoding="UTF-8"?> <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21701" 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="21679"/> <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="RechargeCenterVC" customModule="WanPai" customModuleProvider="target"> <connections> <outlet property="btn_rechange" destination="UvJ-Vs-VJ9" id="KZa-eC-NHS"/> <outlet property="btn_rechargeInfo" destination="lGL-wI-nEC" id="1bW-rJ-JPo"/> <outlet property="collectionView" destination="B8L-Mr-AHI" id="VuO-aq-Ixi"/> <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> <outlet property="view_cion" destination="NK8-Du-e9T" id="RVF-n0-B5U"/> <outlet property="view_container" destination="NJG-QQ-aLa" id="ihi-ky-fH3"/> <outlet property="view_topBg" destination="9NF-Ki-9em" id="Yfa-FR-sdy"/> </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="9NF-Ki-9em"> <rect key="frame" x="0.0" y="0.0" width="393" height="232.66666666666666"/> <subviews> <view contentMode="scaleToFill" ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="NK8-Du-e9T" customClass="JQ_RollNumberLabel" customModule="JQTools"> <rect key="frame" x="181.66666666666666" y="91" width="10" height="44"/> <constraints> <constraint firstAttribute="height" constant="44" id="oj8-B1-WIc"/> </constraints> </view> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" text="币" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="URX-Wq-XaR"> <rect key="frame" x="191.66666666666663" y="109.66666666666667" width="14.333333333333343" height="17"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/> <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="当前剩余" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="3BA-Ds-DAO"> <rect key="frame" x="172" y="144" width="49.333333333333343" height="14.333333333333343"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="12"/> <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> </subviews> <color key="backgroundColor" systemColor="tertiarySystemGroupedBackgroundColor"/> <constraints> <constraint firstItem="3BA-Ds-DAO" firstAttribute="centerX" secondItem="9NF-Ki-9em" secondAttribute="centerX" id="7Sy-px-uRl"/> <constraint firstItem="NK8-Du-e9T" firstAttribute="centerX" secondItem="9NF-Ki-9em" secondAttribute="centerX" constant="-10" id="IuN-wE-nTj"/> <constraint firstItem="NK8-Du-e9T" firstAttribute="top" secondItem="9NF-Ki-9em" secondAttribute="topMargin" constant="24" id="Kcp-eQ-GCs"/> <constraint firstItem="URX-Wq-XaR" firstAttribute="centerY" secondItem="NK8-Du-e9T" secondAttribute="centerY" constant="5" id="VUE-jJ-Itf"/> <constraint firstItem="3BA-Ds-DAO" firstAttribute="top" secondItem="NK8-Du-e9T" secondAttribute="bottom" constant="9" id="j4d-D1-9LP"/> <constraint firstItem="URX-Wq-XaR" firstAttribute="leading" secondItem="NK8-Du-e9T" secondAttribute="trailing" id="jtb-24-NIg"/> </constraints> </view> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="NJG-QQ-aLa"> <rect key="frame" x="14" y="208.66666666666663" width="365" height="264"/> <subviews> <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" dataMode="none" translatesAutoresizingMaskIntoConstraints="NO" id="B8L-Mr-AHI"> <rect key="frame" x="0.0" y="18" width="365" height="120"/> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstAttribute="height" constant="120" id="wmy-oP-k65"/> </constraints> <collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="10" minimumInteritemSpacing="10" id="8kV-wB-1G8"> <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> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="lGL-wI-nEC"> <rect key="frame" x="289" y="155.00000000000003" width="72" height="29"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <state key="normal" title="储值说明?"> <color key="titleColor" name="FE6E0D"/> </state> </button> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="UvJ-Vs-VJ9"> <rect key="frame" x="86" y="214.00000000000003" width="193" height="40"/> <color key="backgroundColor" name="FE6E0D"/> <constraints> <constraint firstAttribute="height" constant="40" id="JLC-JS-byh"/> </constraints> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="15"/> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <state key="normal" title="充值"> <color key="titleColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> </state> <userDefinedRuntimeAttributes> <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/> <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB"> <real key="value" value="20"/> </userDefinedRuntimeAttribute> </userDefinedRuntimeAttributes> <connections> <action selector="rechargeAction:" destination="-1" eventType="touchUpInside" id="9Sk-vy-4io"/> </connections> </button> </subviews> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstItem="UvJ-Vs-VJ9" firstAttribute="top" secondItem="lGL-wI-nEC" secondAttribute="bottom" constant="30" id="2Fc-Es-Tbg"/> <constraint firstItem="lGL-wI-nEC" firstAttribute="top" secondItem="B8L-Mr-AHI" secondAttribute="bottom" constant="17" id="Hlp-vf-fHk"/> <constraint firstAttribute="trailing" secondItem="lGL-wI-nEC" secondAttribute="trailing" constant="4" id="Uts-tE-dGf"/> <constraint firstAttribute="bottom" secondItem="UvJ-Vs-VJ9" secondAttribute="bottom" constant="10" id="bWl-Eo-bYB"/> <constraint firstItem="UvJ-Vs-VJ9" firstAttribute="leading" secondItem="NJG-QQ-aLa" secondAttribute="leading" constant="86" id="rgN-yU-AbO"/> <constraint firstAttribute="trailing" secondItem="B8L-Mr-AHI" secondAttribute="trailing" id="tW8-9k-Bqu"/> <constraint firstItem="B8L-Mr-AHI" firstAttribute="top" secondItem="NJG-QQ-aLa" secondAttribute="top" constant="18" id="xch-Du-kmY"/> <constraint firstAttribute="trailing" secondItem="UvJ-Vs-VJ9" secondAttribute="trailing" constant="86" id="y0c-LJ-wPl"/> <constraint firstItem="B8L-Mr-AHI" firstAttribute="leading" secondItem="NJG-QQ-aLa" secondAttribute="leading" id="y7J-73-ODk"/> </constraints> <userDefinedRuntimeAttributes> <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/> <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB"> <real key="value" value="10"/> </userDefinedRuntimeAttribute> </userDefinedRuntimeAttributes> </view> </subviews> <viewLayoutGuide key="safeArea" id="fnl-2z-Ty3"/> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstItem="NJG-QQ-aLa" firstAttribute="top" secondItem="9NF-Ki-9em" secondAttribute="bottom" constant="-24" id="EBJ-uD-bG4"/> <constraint firstItem="9NF-Ki-9em" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" id="K5G-Yj-wBt"/> <constraint firstItem="NJG-QQ-aLa" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="14" id="Rtp-yd-5ao"/> <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="NJG-QQ-aLa" secondAttribute="trailing" constant="14" id="pDO-tW-rIA"/> <constraint firstItem="9NF-Ki-9em" firstAttribute="width" secondItem="9NF-Ki-9em" secondAttribute="height" multiplier="1:0.5923" id="rDM-7Q-bqx"/> <constraint firstAttribute="trailing" secondItem="9NF-Ki-9em" secondAttribute="trailing" id="v5f-as-G0G"/> <constraint firstItem="9NF-Ki-9em" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="ydy-8M-se7"/> </constraints> <point key="canvasLocation" x="61.832061068702288" y="20.422535211267608"/> </view> </objects> <resources> <namedColor name="FE6E0D"> <color red="0.99199998378753662" green="0.53299999237060547" blue="0.0080000003799796104" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> </namedColor> <systemColor name="systemBackgroundColor"> <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> </systemColor> <systemColor name="tertiarySystemGroupedBackgroundColor"> <color red="0.94901960784313721" green="0.94901960784313721" blue="0.96862745098039216" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> </systemColor> </resources> </document> WanPai/Root/Welfare/VC/RechargeRecordVC.swift
New file @@ -0,0 +1,77 @@ // // RechargeRecordVC.swift // WanPai // // Created by 无故事王国 on 2023/6/28. // import UIKit import JQTools import QMUIKit class RechargeRecordVC: BaseVC { @IBOutlet weak var view_topBg: UIView! @IBOutlet weak var view_cion: JQ_RollNumberLabel! @IBOutlet weak var btn_rechange: UIButton! @IBOutlet weak var view_container: UIView! @IBOutlet weak var tableView: UITableView! @IBOutlet weak var btn_filter: QMUIButton! override func viewDidLoad() { super.viewDidLoad() title = "充值明细" view_cion.font = UIFont.init(name: "Impact", size: 36)! view_cion.textColor = .white DispatchQueue.main.asyncAfter(deadline: .now()+2) { self.view_cion.valueNumber = NSNumber(value: 22199) } } override func setUI() { btn_filter.imagePosition = .right btn_filter.spacingBetweenImageAndTitle = 3 let colors = [UIColor(hexStr: "#FD8C02").cgColor, UIColor(hexStr: "#FD7202").cgColor,] view_topBg.jq_gradientColor(colorArr: colors) btn_rechange.jq_gradientNibColor(colorArr: colors, cornerRadius: 20) view_container.jq_addShadows(shadowColor: UIColor(hexStr: "#D5D5D5").withAlphaComponent(0.5), corner: 10, radius: 4, offset: CGSize(width: 0, height: 2), opacity: 1) tableView.delegate = self tableView.dataSource = self tableView.separatorStyle = .none tableView.register(UINib(nibName: "BillInfoTCell", bundle: nil), forCellReuseIdentifier:"_BillInfoTCell") } @IBAction func datetimeAction(_ sender: UIButton) { CommonDatePickerView.show() } @IBAction func filterAction(_ sender: QMUIButton) { JQ_MenuView().show(self, tapView: sender, items: ["充值","扣除"], tableHei: 150) { index, str in } } @IBAction func rechargeAction(_ sender: UIButton) { let vc = RechargeCenterVC() push(vc: vc) } } extension RechargeRecordVC:UITableViewDelegate{ } extension RechargeRecordVC:UITableViewDataSource{ func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "_BillInfoTCell") as! BillInfoTCell return cell } func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return 50 } } WanPai/Root/Welfare/VC/RechargeRecordVC.xib
New file @@ -0,0 +1,202 @@ <?xml version="1.0" encoding="UTF-8"?> <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21701" 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="21679"/> <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="RechargeRecordVC" customModule="WanPai" customModuleProvider="target"> <connections> <outlet property="btn_filter" destination="Nmp-c4-n6U" id="SK0-iY-Xer"/> <outlet property="btn_rechange" destination="NHb-nm-Mzb" id="7ts-Tk-cQF"/> <outlet property="tableView" destination="wHv-iO-wHf" id="vtl-Us-h3D"/> <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> <outlet property="view_cion" destination="I00-yk-Mqf" id="G78-m4-vwh"/> <outlet property="view_container" destination="mSn-kI-M6j" id="rPi-dz-fR3"/> <outlet property="view_topBg" destination="5dX-dJ-RVA" id="tHO-NT-acv"/> </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="5dX-dJ-RVA"> <rect key="frame" x="0.0" y="0.0" width="393" height="232.66666666666666"/> <subviews> <view contentMode="scaleToFill" ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="I00-yk-Mqf" customClass="JQ_RollNumberLabel" customModule="JQTools"> <rect key="frame" x="181.66666666666666" y="91" width="10" height="44"/> <constraints> <constraint firstAttribute="height" constant="44" id="fvn-El-HaN"/> </constraints> </view> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" text="币" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="i2m-xo-Gl8"> <rect key="frame" x="191.66666666666663" y="109.66666666666667" width="14.333333333333343" height="17"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/> <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="当前剩余" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="MNG-iP-MVp"> <rect key="frame" x="172" y="144" width="49.333333333333343" height="14.333333333333343"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="12"/> <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> </subviews> <color key="backgroundColor" systemColor="tertiarySystemGroupedBackgroundColor"/> <constraints> <constraint firstAttribute="width" secondItem="5dX-dJ-RVA" secondAttribute="height" multiplier="1:0.5923" id="2IZ-yE-1XM"/> <constraint firstItem="I00-yk-Mqf" firstAttribute="top" secondItem="5dX-dJ-RVA" secondAttribute="topMargin" constant="24" id="VKw-3d-dkh"/> <constraint firstItem="I00-yk-Mqf" firstAttribute="centerX" secondItem="5dX-dJ-RVA" secondAttribute="centerX" constant="-10" id="WR2-bL-CAj"/> <constraint firstItem="i2m-xo-Gl8" firstAttribute="leading" secondItem="I00-yk-Mqf" secondAttribute="trailing" id="jYa-cO-3eP"/> <constraint firstItem="MNG-iP-MVp" firstAttribute="centerX" secondItem="5dX-dJ-RVA" secondAttribute="centerX" id="lPB-R7-50C"/> <constraint firstItem="MNG-iP-MVp" firstAttribute="top" secondItem="I00-yk-Mqf" secondAttribute="bottom" constant="9" id="pDW-LO-GdN"/> <constraint firstItem="i2m-xo-Gl8" firstAttribute="centerY" secondItem="I00-yk-Mqf" secondAttribute="centerY" constant="5" id="pje-2O-ZwU"/> </constraints> </view> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="mSn-kI-M6j"> <rect key="frame" x="14" y="181.66666666666669" width="365" height="576.33333333333326"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="4js-r9-uNN"> <rect key="frame" x="0.0" y="0.0" width="365" height="50"/> <subviews> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Zd3-h8-Y0d"> <rect key="frame" x="14" y="9" width="96" height="32"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="16"/> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <state key="normal" title="2023年3月 >"> <color key="titleColor" red="0.23137254900000001" green="0.23137254900000001" blue="0.23137254900000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> </state> <connections> <action selector="datetimeAction:" destination="-1" eventType="touchUpInside" id="Vuk-IL-wir"/> </connections> </button> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Nmp-c4-n6U" customClass="QMUIButton"> <rect key="frame" x="254" y="6" width="100" height="38"/> <constraints> <constraint firstAttribute="height" constant="38" id="JLA-aj-rnn"/> <constraint firstAttribute="width" constant="100" id="Vxg-LL-ygq"/> </constraints> <fontDescription key="fontDescription" type="system" pointSize="16"/> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <state key="normal" title="全部记录" image="icon_down_arrow"> <color key="titleColor" red="0.25490196078431371" green="0.25490196078431371" blue="0.25490196078431371" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> </state> <userDefinedRuntimeAttributes> <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/> <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB"> <real key="value" value="4"/> </userDefinedRuntimeAttribute> <userDefinedRuntimeAttribute type="color" keyPath="jq_xibBorderColor"> <color key="value" red="0.83529411764705885" green="0.81960784313725488" blue="0.81960784313725488" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> </userDefinedRuntimeAttribute> <userDefinedRuntimeAttribute type="number" keyPath="jq_xibBorderWidth"> <real key="value" value="1"/> </userDefinedRuntimeAttribute> </userDefinedRuntimeAttributes> <connections> <action selector="filterAction:" destination="-1" eventType="touchUpInside" id="sZ7-NK-ZA7"/> </connections> </button> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Jwg-aY-gOG"> <rect key="frame" x="0.0" y="49.666666666666686" width="365" height="0.3333333333333357"/> <color key="backgroundColor" red="0.87058823529411766" green="0.87058823529411766" blue="0.87058823529411766" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstAttribute="height" constant="0.40000000000000002" id="6z1-kT-wdb"/> </constraints> </view> </subviews> <constraints> <constraint firstAttribute="bottom" secondItem="Jwg-aY-gOG" secondAttribute="bottom" id="4jV-6u-FhZ"/> <constraint firstItem="Jwg-aY-gOG" firstAttribute="leading" secondItem="4js-r9-uNN" secondAttribute="leading" id="8B4-1T-avk"/> <constraint firstAttribute="trailing" secondItem="Jwg-aY-gOG" secondAttribute="trailing" id="8jd-3e-i2W"/> <constraint firstAttribute="trailing" secondItem="Nmp-c4-n6U" secondAttribute="trailing" constant="11" id="FhA-hy-Iyt"/> <constraint firstItem="Zd3-h8-Y0d" firstAttribute="leading" secondItem="4js-r9-uNN" secondAttribute="leading" constant="14" id="MBg-Rt-CwB"/> <constraint firstItem="Nmp-c4-n6U" firstAttribute="centerY" secondItem="Zd3-h8-Y0d" secondAttribute="centerY" id="O1u-qT-vdr"/> <constraint firstAttribute="height" constant="50" id="ejx-9I-O5d"/> <constraint firstItem="Zd3-h8-Y0d" firstAttribute="centerY" secondItem="4js-r9-uNN" secondAttribute="centerY" id="fl8-Yy-gsh"/> </constraints> </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="wHv-iO-wHf"> <rect key="frame" x="0.0" y="50" width="365" height="526.33333333333337"/> <color key="backgroundColor" systemColor="systemBackgroundColor"/> </tableView> </subviews> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstItem="4js-r9-uNN" firstAttribute="top" secondItem="mSn-kI-M6j" secondAttribute="top" id="2Zx-dq-tAW"/> <constraint firstItem="wHv-iO-wHf" firstAttribute="top" secondItem="4js-r9-uNN" secondAttribute="bottom" id="GWZ-dP-5Fj"/> <constraint firstAttribute="bottom" secondItem="wHv-iO-wHf" secondAttribute="bottom" id="TBg-Zf-kIl"/> <constraint firstItem="wHv-iO-wHf" firstAttribute="leading" secondItem="mSn-kI-M6j" secondAttribute="leading" id="Z5V-6E-c9o"/> <constraint firstAttribute="trailing" secondItem="wHv-iO-wHf" secondAttribute="trailing" id="aDd-p0-bFT"/> <constraint firstItem="4js-r9-uNN" firstAttribute="leading" secondItem="mSn-kI-M6j" secondAttribute="leading" id="daz-de-dmu"/> <constraint firstAttribute="trailing" secondItem="4js-r9-uNN" secondAttribute="trailing" id="wbm-mq-6JU"/> </constraints> </view> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="AhJ-db-tUO"> <rect key="frame" x="0.0" y="748" width="393" height="70"/> <subviews> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="NHb-nm-Mzb"> <rect key="frame" x="100" y="15" width="193" height="40"/> <color key="backgroundColor" name="FE6E0D"/> <constraints> <constraint firstAttribute="height" constant="40" id="BWq-Lo-vnX"/> </constraints> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="15"/> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <state key="normal" title="充值"/> <userDefinedRuntimeAttributes> <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/> <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB"> <real key="value" value="20"/> </userDefinedRuntimeAttribute> </userDefinedRuntimeAttributes> <connections> <action selector="rechargeAction:" destination="-1" eventType="touchUpInside" id="MdH-Yo-Vgs"/> </connections> </button> </subviews> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstItem="NHb-nm-Mzb" firstAttribute="top" secondItem="AhJ-db-tUO" secondAttribute="top" constant="15" id="7rR-Q4-t94"/> <constraint firstAttribute="trailing" secondItem="NHb-nm-Mzb" secondAttribute="trailing" constant="100" id="D5W-aF-HII"/> <constraint firstItem="NHb-nm-Mzb" firstAttribute="leading" secondItem="AhJ-db-tUO" secondAttribute="leading" constant="100" id="jN9-VW-uxA"/> <constraint firstAttribute="height" constant="70" id="ukH-ok-5WL"/> </constraints> </view> </subviews> <viewLayoutGuide key="safeArea" id="fnl-2z-Ty3"/> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstItem="5dX-dJ-RVA" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="4hn-24-pHb"/> <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="5dX-dJ-RVA" secondAttribute="trailing" id="ADE-eJ-7tA"/> <constraint firstItem="AhJ-db-tUO" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" id="KFc-Zh-weu"/> <constraint firstItem="AhJ-db-tUO" firstAttribute="top" secondItem="mSn-kI-M6j" secondAttribute="bottom" constant="-10" id="Oa8-yS-w1Z"/> <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="AhJ-db-tUO" secondAttribute="trailing" id="Q3j-45-cm0"/> <constraint firstItem="5dX-dJ-RVA" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" id="UWD-lV-y4M"/> <constraint firstAttribute="bottomMargin" secondItem="AhJ-db-tUO" secondAttribute="bottom" id="Yjr-7r-exC"/> <constraint firstItem="mSn-kI-M6j" firstAttribute="top" secondItem="5dX-dJ-RVA" secondAttribute="bottom" constant="-51" id="bJY-PC-HMk"/> <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="mSn-kI-M6j" secondAttribute="trailing" constant="14" id="dTw-dw-lMJ"/> <constraint firstItem="mSn-kI-M6j" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="14" id="tBU-FH-c6x"/> </constraints> <point key="canvasLocation" x="-2.2900763358778624" y="20.422535211267608"/> </view> </objects> <resources> <image name="icon_down_arrow" width="20" height="14"/> <namedColor name="FE6E0D"> <color red="0.99199998378753662" green="0.53299999237060547" blue="0.0080000003799796104" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> </namedColor> <systemColor name="systemBackgroundColor"> <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> </systemColor> <systemColor name="tertiarySystemGroupedBackgroundColor"> <color red="0.94901960784313721" green="0.94901960784313721" blue="0.96862745098039216" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> </systemColor> </resources> </document> WanPai/Root/Welfare/VC/WelfareBillListVC.swift
New file @@ -0,0 +1,138 @@ // // WelfareBillListVC.swift // WanPai // // Created by 无故事王国 on 2023/6/28. // import UIKit import JQTools import QMUIKit class WelfareBillListVC: BaseVC { lazy private var tableView:UITableView = { let table = UITableView(frame: .zero, style: .plain) table.separatorStyle = .none table.delegate = self table.dataSource = self if #available(iOS 15.0, *) { table.sectionHeaderTopPadding = 0 } table.register(UINib(nibName: "BillInfoTCell", bundle: nil), forCellReuseIdentifier: "_BillInfoTCell") return table }() override func viewDidLoad() { super.viewDidLoad() title = "我的账单" view.addSubview(tableView) tableView.snp.makeConstraints { make in make.edges.equalToSuperview() } } } extension WelfareBillListVC:UITableViewDelegate{ } extension WelfareBillListVC:UITableViewDataSource{ func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "_BillInfoTCell") as! BillInfoTCell return cell } func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return 50 } func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat { return 67 } func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { let v = HeaderInSectionView() return v } } private class HeaderInSectionView:UIView{ private lazy var btn_datetime:QMUIButton = { let btn = QMUIButton(type: .custom) btn.setTitle(Date().jq_format("yyyy年M月>"), for: .normal) btn.setTitleColor(UIColor(hexStr: "#0048FF"), for: .normal) btn.titleLabel?.font = UIFont.systemFont(ofSize: 16, weight: .medium) return btn }() private lazy var btn_filter:QMUIButton = { let btn = QMUIButton(type: .custom) btn.setTitleColor(UIColor(hexStr: "#414141"), for: .normal) btn.titleLabel?.font = UIFont.systemFont(ofSize: 16) btn.jq_borderWidth = 1 btn.jq_borderColor = UIColor(hexStr: "#D5D1D1") btn.cornerRadius = 4 btn.setTitle("全部记录", for: .normal) btn.setImage(UIImage(named: "icon_down_arrow"), for: .normal) btn.imagePosition = .right btn.spacingBetweenImageAndTitle = 5 return btn }() private lazy var view_line:UIView = { let lineView = UIView() lineView.backgroundColor = UIColor(hexStr: "#DEDEDE") return lineView }() override init(frame: CGRect) { super.init(frame: frame) backgroundColor = .white addSubview(btn_datetime) addSubview(btn_filter) addSubview(view_line) btn_filter.snp.makeConstraints { make in make.right.equalTo(-14) make.height.equalTo(38) make.width.equalTo(100) make.bottom.equalTo(-16) } btn_datetime.snp.makeConstraints { make in make.left.equalTo(14) make.height.equalTo(22) make.centerY.equalTo(btn_filter) } view_line.snp.makeConstraints { make in make.left.equalTo(14) make.right.equalTo(14) make.height.equalTo(0.4) make.bottom.equalToSuperview() } btn_filter.addTarget(self, action: #selector(fliterAction), for: .touchUpInside) btn_datetime.addTarget(self, action: #selector(datetimePickerAction), for: .touchUpInside) } @objc func fliterAction(){ JQ_MenuView().show(self, tapView: btn_filter, items: ["1","2"],tableHei: 140) { index, str in } } @objc func datetimePickerAction(){ CommonDatePickerView.show() } required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } } WanPai/Root/Welfare/VC/WelfareCouponsListVC.swift
New file @@ -0,0 +1,138 @@ // // WelfareCouponsListVC.swift // WanPai // // Created by 无故事王国 on 2023/6/28. // import UIKit import JQTools import QMUIKit import SPPageMenu import FFPage class WelfareCouponsListVC: BaseVC { private var pageMenu:SPPageMenu = { let pageMenu = SPPageMenu(frame: .zero, trackerStyle: .line) // 追踪线 pageMenu.trackerWidth = 56 pageMenu.setTrackerHeight(3, cornerRadius: 1.5) pageMenu.tracker.backgroundColor = UIColor(hexStr: "#FF9D2E") pageMenu.trackerFollowingMode = .always pageMenu.contentInset = UIEdgeInsets(top: 0, left: 14, bottom: 0, right: 14) // 分割线 pageMenu.dividingLine.backgroundColor = .clear pageMenu.dividingLineHeight = 1 // item pageMenu.spacing = 20.0 pageMenu.permutationWay = .notScrollEqualWidths pageMenu.setItems(["全部","满减券","代金券","体验券"], selectedItemIndex: 0) // 字体 pageMenu.selectedItemTitleFont = UIFont.systemFont(ofSize: 14, weight: .semibold) pageMenu.unSelectedItemTitleFont = UIFont.systemFont(ofSize: 14,weight: .medium) // 颜色 pageMenu.selectedItemTitleColor = .black.withAlphaComponent(0.8) pageMenu.unSelectedItemTitleColor = .black.withAlphaComponent(0.6) return pageMenu }() private lazy var pageViewController:FFPageViewController = { let pageVC = FFPageViewController() pageVC.view.backgroundColor = .clear pageVC.scrollview.backgroundColor = .clear pageVC.scrollview.bounces = false return pageVC }() private lazy var btn_filter:QMUIButton = { let btn = QMUIButton(type: .custom) btn.setTitle("全部", for: .normal) btn.titleLabel?.font = UIFont.systemFont(ofSize: 16) btn.setImage(UIImage(named: "icon_down_arrow"), for: .normal) btn.setTitleColor(UIColor(hexStr: "#414141"), for: .normal) btn.imagePosition = .right btn.spacingBetweenImageAndTitle = 37 btn.jq_borderColor = UIColor(hexStr: "#D5D1D1") btn.jq_borderWidth = 1 btn.cornerRadius = 4 btn.backgroundColor = .white return btn }() override func viewDidLoad() { super.viewDidLoad() title = "我的券包" pageMenu.delegate = self pageViewController.delegate = self btn_filter.addTarget(self, action: #selector(fliterAction), for: .touchUpInside) } override func setUI() { view.backgroundColor = .white pageMenu.layer.shadowColor = UIColor(hexStr: "#EFEEEE").withAlphaComponent(0.5).cgColor pageMenu.layer.shadowOffset = CGSize(width: 0, height: 2) pageMenu.layer.shadowOpacity = 1 view.addSubview(pageMenu) pageMenu.snp.makeConstraints { make in make.top.equalTo(self.view.safeAreaLayoutGuide.snp.top) make.left.right.equalToSuperview() make.height.equalTo(45) } view.addSubview(btn_filter) btn_filter.snp.makeConstraints { make in make.top.equalTo(pageMenu.snp.bottom).offset(15) make.right.equalTo(-14) make.height.equalTo(38) make.width.equalTo(100) } addChild(pageViewController) view.insertSubview(pageViewController.view, at: 0) pageViewController.didMove(toParent: self) pageViewController.view.snp.makeConstraints { make in make.top.equalTo(btn_filter.snp.bottom) make.left.right.bottom.equalToSuperview() } } @objc func fliterAction(){ JQ_MenuView().show(self, tapView: btn_filter, items: ["1","2"], tableHei: 150) { index, str in } } } extension WelfareCouponsListVC:SPPageMenuDelegate{ func pageMenu(_ pageMenu: SPPageMenu, itemSelectedAt index: Int) { pageViewController.scroll(toPage: index, animation: true) } } extension WelfareCouponsListVC:FFPageViewControllerDelegate{ func pageViewController(_ pageViewController: FFPageViewController, currentPageChanged currentPage: Int) { pageMenu.selectedItemIndex = currentPage } func totalPagesOfpageViewController(_ pageViewConteoller: FFPageViewController) -> UInt { return 4 } func pageViewController(_ pageViewConteoller: FFPageViewController, controllerForPage page: Int) -> UIViewController { return WelfareCouponsSubListVC() } } WanPai/Root/Welfare/VC/WelfareCouponsSubListVC.swift
New file @@ -0,0 +1,70 @@ // // WelfareCouponsSubListVC.swift // WanPai // // Created by 无故事王国 on 2023/6/28. // import UIKit let WelfareCoupons_Noti = NSNotification.Name("WelfareCoupons_Noti") class WelfareCouponsSubListVC: BaseVC { lazy private var tableView:UITableView = { let table = UITableView(frame: .zero, style: .plain) table.separatorStyle = .none table.delegate = self table.dataSource = self table.register(UINib(nibName: "WelfareCouponsTCell", bundle: nil), forCellReuseIdentifier: "_WelfareCouponsTCell") return table }() private var rows = Set<Int>() override func viewDidLoad() { super.viewDidLoad() } override func setUI() { view.addSubview(tableView) tableView.snp.makeConstraints { make in make.edges.equalToSuperview() } } override func setRx() { NotificationCenter.default.rx.notification(WelfareCoupons_Noti).take(until: self.rx.deallocated).subscribe(onNext: {noti in if let row = noti.object as? Int{ if self.rows.contains(row){ self.rows.remove(row) }else{ self.rows.insert(row) } self.tableView.beginUpdates() self.tableView.reloadRows(at: [IndexPath(row: row, section: 0)], with: .fade) self.tableView.endUpdates() } }).disposed(by: disposeBag) } } extension WelfareCouponsSubListVC:UITableViewDelegate{} extension WelfareCouponsSubListVC:UITableViewDataSource{ func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return 15 } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "_WelfareCouponsTCell") as! WelfareCouponsTCell cell.indexPath = indexPath cell.label_info.text = "这里是优惠券使用说明…" cell.btn_info.isSelected = rows.contains(indexPath.row) cell.label_info.isHidden = !rows.contains(indexPath.row) cell.view_line.isHidden = !rows.contains(indexPath.row) return cell } } WanPai/Root/Welfare/VC/WelfareRedeemGoodsDetailVC.swift
New file @@ -0,0 +1,63 @@ // // WelfareRedeemGoodsDetailVC.swift // WanPai // // Created by 无故事王国 on 2023/6/28. // import UIKit import QMUIKit class WelfareRedeemGoodsDetailVC: BaseVC { @IBOutlet weak var btn_student: QMUIButton! @IBOutlet weak var btn_store: QMUIButton! @IBOutlet weak var tableView: UITableView! @IBOutlet weak var cons_tableHei: NSLayoutConstraint! override func viewDidLoad() { super.viewDidLoad() title = "商品详情" } override func setUI() { btn_student.imagePosition = .right btn_store.imagePosition = .right btn_student.spacingBetweenImageAndTitle = 3 btn_store.spacingBetweenImageAndTitle = 3 tableView.delegate = self tableView.dataSource = self tableView.isScrollEnabled = false tableView.separatorStyle = .none tableView.register(UINib(nibName: "StudentInfoTCell", bundle: nil), forCellReuseIdentifier: "_StudentInfoTCell") } @IBAction func chooseAction(_ sender: QMUIButton) { StudentChooseView.show(itemType: .course) { } needAddClouse: { } } @IBAction func chooseStoreAction(_ sender: QMUIButton) { } } extension WelfareRedeemGoodsDetailVC:UITableViewDelegate{ } extension WelfareRedeemGoodsDetailVC:UITableViewDataSource{ func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "_StudentInfoTCell") as! StudentInfoTCell return cell } func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return 1 } } WanPai/Root/Welfare/VC/WelfareRedeemGoodsDetailVC.xib
New file @@ -0,0 +1,434 @@ <?xml version="1.0" encoding="UTF-8"?> <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21701" 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="21679"/> <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="WelfareRedeemGoodsDetailVC" customModule="WanPai" customModuleProvider="target"> <connections> <outlet property="btn_store" destination="DK1-7I-Zgs" id="P4s-8p-Srp"/> <outlet property="btn_student" destination="NfN-7G-XM4" id="Heh-WX-eDd"/> <outlet property="cons_tableHei" destination="2Vo-tY-Rnk" id="1xt-su-irf"/> <outlet property="tableView" destination="Iqj-NB-Sdv" id="whY-na-FVo"/> <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="L61-7B-reh"> <rect key="frame" x="0.0" y="59" width="393" height="759"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="gbh-Le-CoL"> <rect key="frame" x="0.0" y="0.0" width="393" height="872"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Qqf-lq-tQb"> <rect key="frame" x="0.0" y="0.0" width="393" height="221.66666666666666"/> <color key="backgroundColor" systemColor="systemGroupedBackgroundColor"/> <constraints> <constraint firstAttribute="width" secondItem="Qqf-lq-tQb" secondAttribute="height" multiplier="1:0.5641" id="MqH-9b-gxy"/> </constraints> </view> <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="37m-yk-F6F"> <rect key="frame" x="0.0" y="221.66666666666669" width="393" height="453.00000000000006"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="A4l-Np-cwV"> <rect key="frame" x="0.0" y="0.0" width="393" height="74"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="1000" verticalHuggingPriority="251" text="--" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Xbv-xb-Opx"> <rect key="frame" x="13.999999999999998" y="14.000000000000002" width="16.333333333333329" height="26.666666666666671"/> <constraints> <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="25" id="T7E-w7-pbv"/> </constraints> <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="18"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" horizontalCompressionResistancePriority="1000" text="0积分" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="wai-5S-si5"> <rect key="frame" x="40.333333333333343" y="19" width="338.66666666666663" height="17"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/> <color key="textColor" red="0.93333333333333335" green="0.043137254901960784" blue="0.043137254901960784" 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="Lm4-og-vup"> <rect key="frame" x="14" y="44.666666666666629" width="11.333333333333336" height="14.333333333333336"/> <fontDescription key="fontDescription" type="system" pointSize="12"/> <color key="textColor" name="FE6E0D"/> <nil key="highlightedColor"/> </label> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="CYg-xX-AY5"> <rect key="frame" x="13" y="73" 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="Cig-fk-PE9"/> </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="7Oz-EC-ypg"> <rect key="frame" x="326" y="44.666666666666629" width="52" height="14.333333333333336"/> <fontDescription key="fontDescription" type="system" pointSize="12"/> <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> </subviews> <constraints> <constraint firstItem="CYg-xX-AY5" firstAttribute="top" secondItem="Lm4-og-vup" secondAttribute="bottom" constant="14" id="0A7-VF-Uhg"/> <constraint firstItem="Xbv-xb-Opx" firstAttribute="leading" secondItem="A4l-Np-cwV" secondAttribute="leading" constant="14" id="1M9-uF-683"/> <constraint firstAttribute="trailing" secondItem="CYg-xX-AY5" secondAttribute="trailing" id="1hn-Gi-DkD"/> <constraint firstAttribute="trailing" secondItem="7Oz-EC-ypg" secondAttribute="trailing" constant="15" id="213-eO-d54"/> <constraint firstItem="Lm4-og-vup" firstAttribute="top" secondItem="Xbv-xb-Opx" secondAttribute="bottom" constant="4" id="3xk-fd-dNI"/> <constraint firstItem="7Oz-EC-ypg" firstAttribute="centerY" secondItem="Lm4-og-vup" secondAttribute="centerY" id="B4h-NQ-ST7"/> <constraint firstItem="Lm4-og-vup" firstAttribute="leading" secondItem="Xbv-xb-Opx" secondAttribute="leading" id="Ghq-m1-Vzl"/> <constraint firstItem="Xbv-xb-Opx" firstAttribute="top" secondItem="A4l-Np-cwV" secondAttribute="top" constant="14" id="MsH-eY-qmN"/> <constraint firstItem="wai-5S-si5" firstAttribute="centerY" secondItem="Xbv-xb-Opx" secondAttribute="centerY" id="aqL-A0-TyP"/> <constraint firstAttribute="bottom" secondItem="CYg-xX-AY5" secondAttribute="bottom" id="aus-QR-LhS"/> <constraint firstItem="wai-5S-si5" firstAttribute="leading" secondItem="Xbv-xb-Opx" secondAttribute="trailing" constant="10" id="qYL-hh-6Fq"/> <constraint firstItem="CYg-xX-AY5" firstAttribute="leading" secondItem="A4l-Np-cwV" secondAttribute="leading" constant="13" id="qd9-Wo-Zgm"/> <constraint firstAttribute="trailing" secondItem="wai-5S-si5" secondAttribute="trailing" constant="14" id="wTe-RH-Z80"/> </constraints> </view> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="dvn-BE-q0C"> <rect key="frame" x="0.0" y="74" width="393" height="48"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="hWG-V5-5vv"> <rect key="frame" x="13" y="47" 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="YoT-Ky-Fai"/> </constraints> </view> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="已换:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="aeY-Is-jy1"> <rect key="frame" x="14" y="15.666666666666629" width="43" height="17"/> <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="14"/> <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Nun-Hi-Ba8"> <rect key="frame" x="57" y="15.666666666666629" width="9" height="17"/> <fontDescription key="fontDescription" type="system" pointSize="14"/> <color key="textColor" name="FE6E0D"/> <nil key="highlightedColor"/> </label> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="剩余:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" showsExpansionTextWhenTruncated="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Ckw-eW-ViG"> <rect key="frame" x="143" y="15.666666666666629" width="43" height="17"/> <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="14"/> <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" showsExpansionTextWhenTruncated="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="DpQ-7A-Y6o"> <rect key="frame" x="186" y="15.666666666666629" width="9" height="17"/> <fontDescription key="fontDescription" type="system" pointSize="14"/> <color key="textColor" name="FE6E0D"/> <nil key="highlightedColor"/> </label> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="每人限领:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" showsExpansionTextWhenTruncated="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="JSz-u2-EIQ"> <rect key="frame" x="275.33333333333331" y="15.666666666666629" width="71.666666666666686" height="17"/> <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="14"/> <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" showsExpansionTextWhenTruncated="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="HyU-Ki-Lwv"> <rect key="frame" x="347" y="15.666666666666629" width="9" height="17"/> <fontDescription key="fontDescription" type="system" pointSize="14"/> <color key="textColor" name="FE6E0D"/> <nil key="highlightedColor"/> </label> </subviews> <constraints> <constraint firstItem="JSz-u2-EIQ" firstAttribute="centerY" secondItem="aeY-Is-jy1" secondAttribute="centerY" id="3Kk-RR-4DO"/> <constraint firstAttribute="trailing" secondItem="hWG-V5-5vv" secondAttribute="trailing" id="4ur-7v-AMr"/> <constraint firstItem="HyU-Ki-Lwv" firstAttribute="centerY" secondItem="JSz-u2-EIQ" secondAttribute="centerY" id="9qM-Hf-ckh"/> <constraint firstItem="Ckw-eW-ViG" firstAttribute="leading" secondItem="dvn-BE-q0C" secondAttribute="leading" constant="143" id="Ap5-zI-H7Y"/> <constraint firstItem="aeY-Is-jy1" firstAttribute="centerY" secondItem="dvn-BE-q0C" secondAttribute="centerY" id="Buf-gO-K1B"/> <constraint firstItem="HyU-Ki-Lwv" firstAttribute="leading" secondItem="JSz-u2-EIQ" secondAttribute="trailing" id="Dax-gX-QKh"/> <constraint firstAttribute="bottom" secondItem="hWG-V5-5vv" secondAttribute="bottom" id="G2P-Kb-URU"/> <constraint firstItem="Nun-Hi-Ba8" firstAttribute="centerY" secondItem="aeY-Is-jy1" secondAttribute="centerY" id="GkX-8G-2hp"/> <constraint firstItem="Ckw-eW-ViG" firstAttribute="centerY" secondItem="dvn-BE-q0C" secondAttribute="centerY" id="IcD-3H-etN"/> <constraint firstItem="aeY-Is-jy1" firstAttribute="leading" secondItem="dvn-BE-q0C" secondAttribute="leading" constant="14" id="NDF-x8-UxN"/> <constraint firstAttribute="height" constant="48" id="TOk-Wj-0VK"/> <constraint firstItem="Nun-Hi-Ba8" firstAttribute="leading" secondItem="aeY-Is-jy1" secondAttribute="trailing" id="VL7-Ec-ee7"/> <constraint firstAttribute="trailing" secondItem="JSz-u2-EIQ" secondAttribute="trailing" constant="46" id="cgv-fq-dgY"/> <constraint firstItem="DpQ-7A-Y6o" firstAttribute="centerY" secondItem="Ckw-eW-ViG" secondAttribute="centerY" id="rhQ-zN-S8e"/> <constraint firstItem="DpQ-7A-Y6o" firstAttribute="leading" secondItem="Ckw-eW-ViG" secondAttribute="trailing" id="tSo-fE-VAS"/> <constraint firstItem="hWG-V5-5vv" firstAttribute="leading" secondItem="dvn-BE-q0C" secondAttribute="leading" constant="13" id="yvx-RP-5ge"/> </constraints> </view> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="eTp-S5-gYB"> <rect key="frame" x="0.0" y="122" width="393" height="48"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="aUi-as-wpQ"> <rect key="frame" x="13" y="47" 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="HVu-Qx-NQw"/> </constraints> </view> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="有效期:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Qle-bh-V41"> <rect key="frame" x="14.000000000000004" y="15.666666666666629" width="57.333333333333343" height="17"/> <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="14"/> <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="--" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="RwQ-MS-2sL"> <rect key="frame" x="71.333333333333329" y="15.666666666666629" width="13" height="17"/> <fontDescription key="fontDescription" type="system" pointSize="14"/> <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> </subviews> <constraints> <constraint firstAttribute="trailing" secondItem="aUi-as-wpQ" secondAttribute="trailing" id="06G-lp-InX"/> <constraint firstItem="RwQ-MS-2sL" firstAttribute="leading" secondItem="Qle-bh-V41" secondAttribute="trailing" id="1Cc-9L-qih"/> <constraint firstItem="Qle-bh-V41" firstAttribute="centerY" secondItem="eTp-S5-gYB" secondAttribute="centerY" id="2v5-5m-FCZ"/> <constraint firstAttribute="bottom" secondItem="aUi-as-wpQ" secondAttribute="bottom" id="7k2-zI-V9p"/> <constraint firstItem="aUi-as-wpQ" firstAttribute="leading" secondItem="eTp-S5-gYB" secondAttribute="leading" constant="13" id="VRr-47-maG"/> <constraint firstItem="RwQ-MS-2sL" firstAttribute="centerY" secondItem="Qle-bh-V41" secondAttribute="centerY" id="gTH-kp-BpD"/> <constraint firstAttribute="height" constant="48" id="lvy-Nr-Zfo"/> <constraint firstItem="Qle-bh-V41" firstAttribute="leading" secondItem="eTp-S5-gYB" secondAttribute="leading" constant="14" id="wkS-fY-YvL"/> </constraints> </view> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="FLV-Kf-Avt"> <rect key="frame" x="0.0" y="170" width="393" height="48"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="apv-jB-mxv"> <rect key="frame" x="13" y="47" 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="Nbd-eU-Smf"/> </constraints> </view> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="包含:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="OX0-N2-SYi"> <rect key="frame" x="14" y="15.666666666666629" width="43" height="17"/> <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="14"/> <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0课时" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="FgM-YE-waa"> <rect key="frame" x="57" y="15.666666666666629" width="37.333333333333343" height="17"/> <fontDescription key="fontDescription" type="system" pointSize="14"/> <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> </subviews> <constraints> <constraint firstAttribute="height" constant="48" id="4bD-TX-Bmb"/> <constraint firstItem="FgM-YE-waa" firstAttribute="leading" secondItem="OX0-N2-SYi" secondAttribute="trailing" id="B9t-mi-Ucb"/> <constraint firstItem="OX0-N2-SYi" firstAttribute="centerY" secondItem="FLV-Kf-Avt" secondAttribute="centerY" id="FxJ-oG-yTV"/> <constraint firstAttribute="bottom" secondItem="apv-jB-mxv" secondAttribute="bottom" id="MHq-Aw-Myr"/> <constraint firstItem="FgM-YE-waa" firstAttribute="centerY" secondItem="OX0-N2-SYi" secondAttribute="centerY" id="oUq-EL-e9R"/> <constraint firstItem="apv-jB-mxv" firstAttribute="leading" secondItem="FLV-Kf-Avt" secondAttribute="leading" constant="13" id="ogh-fB-azO"/> <constraint firstItem="OX0-N2-SYi" firstAttribute="leading" secondItem="FLV-Kf-Avt" secondAttribute="leading" constant="14" id="ssD-IC-nBu"/> <constraint firstAttribute="trailing" secondItem="apv-jB-mxv" secondAttribute="trailing" id="x5P-2s-lCe"/> </constraints> </view> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="0QQ-kQ-0an"> <rect key="frame" x="0.0" y="218" width="393" height="132"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ycL-lZ-eJB"> <rect key="frame" x="13" y="130.99999999999994" 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="8NT-ZN-2kD"/> </constraints> </view> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="学员" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="a3z-iB-tVP"> <rect key="frame" x="14.000000000000002" y="13.999999999999943" width="28.666666666666671" height="17"/> <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="14"/> <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="NfN-7G-XM4" customClass="QMUIButton"> <rect key="frame" x="304" y="13.999999999999943" width="74" height="20"/> <constraints> <constraint firstAttribute="height" constant="20" id="67f-ry-4bf"/> </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> <connections> <action selector="chooseAction:" destination="-1" eventType="touchUpInside" id="cqc-5R-hsx"/> </connections> </button> <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="Iqj-NB-Sdv"> <rect key="frame" x="0.0" y="36.999999999999943" width="393" height="88"/> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstAttribute="height" constant="88" id="2Vo-tY-Rnk"/> </constraints> </tableView> </subviews> <constraints> <constraint firstAttribute="bottom" secondItem="ycL-lZ-eJB" secondAttribute="bottom" id="BdX-CK-kGt"/> <constraint firstItem="NfN-7G-XM4" firstAttribute="top" secondItem="0QQ-kQ-0an" secondAttribute="top" constant="14" id="CZO-jv-iBN"/> <constraint firstItem="Iqj-NB-Sdv" firstAttribute="top" secondItem="a3z-iB-tVP" secondAttribute="bottom" constant="6" id="Ia3-ng-56n"/> <constraint firstAttribute="trailing" secondItem="Iqj-NB-Sdv" secondAttribute="trailing" id="NuZ-Eq-uzZ"/> <constraint firstItem="ycL-lZ-eJB" firstAttribute="leading" secondItem="0QQ-kQ-0an" secondAttribute="leading" constant="13" id="RAl-rO-XR9"/> <constraint firstAttribute="trailing" secondItem="ycL-lZ-eJB" secondAttribute="trailing" id="SdG-oD-PfH"/> <constraint firstItem="Iqj-NB-Sdv" firstAttribute="leading" secondItem="0QQ-kQ-0an" secondAttribute="leading" id="Vm4-8Y-Y5q"/> <constraint firstItem="a3z-iB-tVP" firstAttribute="top" secondItem="0QQ-kQ-0an" secondAttribute="top" constant="14" id="bdS-hh-WWJ"/> <constraint firstItem="a3z-iB-tVP" firstAttribute="leading" secondItem="0QQ-kQ-0an" secondAttribute="leading" constant="14" id="jF8-qy-aeW"/> <constraint firstAttribute="trailing" secondItem="NfN-7G-XM4" secondAttribute="trailing" constant="15" id="tiY-fa-ufu"/> <constraint firstItem="ycL-lZ-eJB" firstAttribute="top" secondItem="Iqj-NB-Sdv" secondAttribute="bottom" constant="6" id="wof-Dn-hid"/> </constraints> </view> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="PF8-aV-ew9"> <rect key="frame" x="0.0" y="349.99999999999994" width="393" height="103"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="I5w-xz-XZ8"> <rect key="frame" x="13" y="102" 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="oTS-IB-gzU"/> </constraints> </view> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="兑换门店" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="N9r-SP-XMO"> <rect key="frame" x="14.000000000000004" y="14" width="57.333333333333343" height="19"/> <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="14"/> <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="DK1-7I-Zgs" customClass="QMUIButton"> <rect key="frame" x="304" y="14" width="74" height="20"/> <constraints> <constraint firstAttribute="height" constant="20" id="CbV-hS-1G4"/> </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> <connections> <action selector="chooseStoreAction:" destination="-1" eventType="touchUpInside" id="UOM-bW-07M"/> </connections> </button> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="82O-lS-xHR"> <rect key="frame" x="14.000000000000004" y="47" width="57.333333333333343" height="42"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="--" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="4dK-Zl-Jdj"> <rect key="frame" x="22" y="11" width="13.333333333333336" height="20"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/> <color key="textColor" name="FE6E0D"/> <nil key="highlightedColor"/> </label> </subviews> <color key="backgroundColor" red="0.99215686270000003" green="0.45882352939999999" blue="0.0078431372550000003" alpha="0.12" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstItem="4dK-Zl-Jdj" firstAttribute="leading" secondItem="82O-lS-xHR" secondAttribute="leading" constant="22" id="EiG-Ze-iyt"/> <constraint firstAttribute="trailing" secondItem="4dK-Zl-Jdj" secondAttribute="trailing" constant="22" id="Z3K-Pm-S9O"/> <constraint firstItem="4dK-Zl-Jdj" firstAttribute="top" secondItem="82O-lS-xHR" secondAttribute="top" constant="11" id="cez-8Z-WO8"/> <constraint firstAttribute="height" constant="42" id="k25-Gd-ndU"/> <constraint firstAttribute="bottom" secondItem="4dK-Zl-Jdj" secondAttribute="bottom" constant="11" id="qPd-Cg-TNH"/> </constraints> <userDefinedRuntimeAttributes> <userDefinedRuntimeAttribute type="color" keyPath="borderColor"> <color key="value" name="FE6E0D"/> </userDefinedRuntimeAttribute> <userDefinedRuntimeAttribute type="number" keyPath="borderWidth"> <real key="value" value="1"/> </userDefinedRuntimeAttribute> <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius"> <real key="value" value="4"/> </userDefinedRuntimeAttribute> </userDefinedRuntimeAttributes> </view> </subviews> <constraints> <constraint firstItem="82O-lS-xHR" firstAttribute="leading" secondItem="PF8-aV-ew9" secondAttribute="leading" constant="14" id="4Ku-ic-eRN"/> <constraint firstItem="82O-lS-xHR" firstAttribute="top" secondItem="N9r-SP-XMO" secondAttribute="bottom" constant="14" id="4mq-tS-W73"/> <constraint firstAttribute="trailing" secondItem="DK1-7I-Zgs" secondAttribute="trailing" constant="15" id="5m8-m1-oLz"/> <constraint firstItem="I5w-xz-XZ8" firstAttribute="leading" secondItem="PF8-aV-ew9" secondAttribute="leading" constant="13" id="CqH-US-2fe"/> <constraint firstAttribute="trailing" secondItem="I5w-xz-XZ8" secondAttribute="trailing" id="E2G-zK-Ad4"/> <constraint firstItem="DK1-7I-Zgs" firstAttribute="top" secondItem="PF8-aV-ew9" secondAttribute="top" constant="14" id="N5D-I0-yyy"/> <constraint firstAttribute="bottom" secondItem="I5w-xz-XZ8" secondAttribute="bottom" id="ZOx-G7-9qC"/> <constraint firstItem="N9r-SP-XMO" firstAttribute="leading" secondItem="PF8-aV-ew9" secondAttribute="leading" constant="14" id="jWa-0t-3gh"/> <constraint firstItem="I5w-xz-XZ8" firstAttribute="top" secondItem="82O-lS-xHR" secondAttribute="bottom" constant="13" id="rM3-yW-rLl"/> <constraint firstItem="N9r-SP-XMO" firstAttribute="top" secondItem="PF8-aV-ew9" secondAttribute="top" constant="14" id="tf2-rA-mHj"/> </constraints> </view> </subviews> </stackView> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="兑换说明" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="eGT-qY-7F5"> <rect key="frame" x="15" y="689.66666666666663" width="65.333333333333329" height="19.333333333333371"/> <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="16"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="Zp9-nM-vpb"> <rect key="frame" x="0.0" y="724" width="393" height="100"/> <constraints> <constraint firstAttribute="height" constant="100" id="XNx-ob-i8c"/> </constraints> </imageView> </subviews> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstItem="37m-yk-F6F" firstAttribute="top" secondItem="Qqf-lq-tQb" secondAttribute="bottom" id="7XC-I0-EDS"/> <constraint firstItem="Qqf-lq-tQb" firstAttribute="leading" secondItem="gbh-Le-CoL" secondAttribute="leading" id="88i-86-LCE"/> <constraint firstItem="Zp9-nM-vpb" firstAttribute="top" secondItem="eGT-qY-7F5" secondAttribute="bottom" constant="15" id="8Jo-IW-w6Q"/> <constraint firstItem="eGT-qY-7F5" firstAttribute="top" secondItem="37m-yk-F6F" secondAttribute="bottom" constant="15" id="8g1-AM-BJ7"/> <constraint firstItem="37m-yk-F6F" firstAttribute="leading" secondItem="gbh-Le-CoL" secondAttribute="leading" id="Kai-3Z-AgF"/> <constraint firstItem="Zp9-nM-vpb" firstAttribute="leading" secondItem="gbh-Le-CoL" secondAttribute="leading" id="Ual-bZ-2mE"/> <constraint firstItem="Qqf-lq-tQb" firstAttribute="top" secondItem="gbh-Le-CoL" secondAttribute="top" id="VuQ-fm-LhH"/> <constraint firstAttribute="bottom" secondItem="Zp9-nM-vpb" secondAttribute="bottom" constant="48" id="jId-7F-KSB"/> <constraint firstAttribute="trailing" secondItem="37m-yk-F6F" secondAttribute="trailing" id="mq2-n6-vUt"/> <constraint firstItem="eGT-qY-7F5" firstAttribute="leading" secondItem="gbh-Le-CoL" secondAttribute="leading" constant="15" id="qc4-es-fxP"/> <constraint firstAttribute="trailing" secondItem="Zp9-nM-vpb" secondAttribute="trailing" id="ueX-OG-jV3"/> <constraint firstAttribute="trailing" secondItem="Qqf-lq-tQb" secondAttribute="trailing" id="yKT-7i-2oY"/> </constraints> </view> </subviews> <constraints> <constraint firstAttribute="bottom" secondItem="gbh-Le-CoL" secondAttribute="bottom" id="7mD-8m-YNg"/> <constraint firstItem="gbh-Le-CoL" firstAttribute="top" secondItem="L61-7B-reh" secondAttribute="top" id="Hbt-HI-amD"/> <constraint firstItem="gbh-Le-CoL" firstAttribute="centerX" secondItem="L61-7B-reh" secondAttribute="centerX" id="WY4-gX-J3L"/> <constraint firstItem="gbh-Le-CoL" firstAttribute="leading" secondItem="L61-7B-reh" secondAttribute="leading" id="fHg-ux-ys3"/> <constraint firstAttribute="trailing" secondItem="gbh-Le-CoL" secondAttribute="trailing" id="m4d-PS-M4I"/> </constraints> </scrollView> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="R3A-cj-kzU"> <rect key="frame" x="0.0" y="770" width="393" height="48"/> <color key="backgroundColor" name="FE6E0D"/> <constraints> <constraint firstAttribute="height" constant="48" id="bSI-1u-taE"/> </constraints> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="18"/> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <state key="normal" title="立即兑换"/> </button> </subviews> <viewLayoutGuide key="safeArea" id="fnl-2z-Ty3"/> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="L61-7B-reh" secondAttribute="trailing" id="NCa-KY-ZtU"/> <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="R3A-cj-kzU" secondAttribute="trailing" id="bv0-9J-Ggi"/> <constraint firstItem="fnl-2z-Ty3" firstAttribute="bottom" secondItem="R3A-cj-kzU" secondAttribute="bottom" id="gf4-mg-AOH"/> <constraint firstItem="fnl-2z-Ty3" firstAttribute="bottom" secondItem="L61-7B-reh" secondAttribute="bottom" id="iyb-hB-0p6"/> <constraint firstItem="L61-7B-reh" firstAttribute="top" secondItem="fnl-2z-Ty3" secondAttribute="top" id="nwi-Ue-UD8"/> <constraint firstItem="R3A-cj-kzU" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" id="p40-L8-Qdh"/> <constraint firstItem="L61-7B-reh" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" id="peu-JR-Hp4"/> </constraints> <point key="canvasLocation" x="136.64122137404578" y="20.422535211267608"/> </view> </objects> <resources> <image name="btn_add_1" width="16" height="16"/> <namedColor name="FE6E0D"> <color red="0.99199998378753662" green="0.53299999237060547" blue="0.0080000003799796104" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> </namedColor> <systemColor name="systemBackgroundColor"> <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> </systemColor> <systemColor name="systemGroupedBackgroundColor"> <color red="0.94901960784313721" green="0.94901960784313721" blue="0.96862745098039216" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> </systemColor> </resources> </document> WanPai/Root/Welfare/VC/WelfareVC.swift
@@ -26,6 +26,16 @@ timer?.invalidate() } override func viewWillDisappear(_ animated: Bool) { super.viewWillDisappear(animated) navigationController?.isNavigationBarHidden = false } override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) navigationController?.isNavigationBarHidden = true } override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) if timer != nil{ @@ -40,6 +50,26 @@ coinCollectionView.delegate = self coinCollectionView.dataSource = self coinCollectionView.register(UINib(nibName: "WelfareCoinCCell", bundle: nil), forCellWithReuseIdentifier: "_WelfareCoinCCell") } @IBAction func userProfileAction(_ sender: UIButton) { let vc = ProfileVC() push(vc: vc) } @IBAction func billAction(_ sender: UIButton) { let vc = WelfareBillListVC() push(vc: vc) } @IBAction func couponsAction(_ sender: UIButton) { let vc = WelfareCouponsListVC() push(vc: vc) } @IBAction func rechargeAction(_ sender: UIButton) { let vc = RechargeRecordVC() push(vc: vc) } private func autoScroll(){ @@ -83,7 +113,10 @@ } extension WelfareVC:UICollectionViewDelegate{ func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { let vc = WelfareRedeemGoodsDetailVC() push(vc: vc) } } extension WelfareVC:UICollectionViewDataSource{ WanPai/Root/Welfare/VC/WelfareVC.xib
@@ -22,16 +22,16 @@ <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <subviews> <scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Cgs-lB-S86"> <rect key="frame" x="0.0" y="0.0" width="393" height="818"/> <rect key="frame" x="0.0" y="59" width="393" height="759"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="1kO-ug-2Gd"> <rect key="frame" x="0.0" y="0.0" width="393" height="1917.3333333333333"/> <rect key="frame" x="0.0" y="0.0" width="393" height="1694"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="qtJ-Db-Js8"> <rect key="frame" x="0.0" y="0.0" width="393" height="198"/> <rect key="frame" x="0.0" y="0.0" width="393" height="152"/> <subviews> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="7GZ-X8-dwC"> <rect key="frame" x="31" y="62" width="62" height="62"/> <rect key="frame" x="31" y="23" width="62" height="62"/> <color key="backgroundColor" systemColor="tertiarySystemGroupedBackgroundColor"/> <constraints> <constraint firstAttribute="height" constant="62" id="0GQ-rr-6zD"/> @@ -45,7 +45,7 @@ </userDefinedRuntimeAttributes> </imageView> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="未命名会员" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="yxM-ot-SxY"> <rect key="frame" x="113" y="69" width="92" height="25"/> <rect key="frame" x="113" y="30" width="92" height="25"/> <constraints> <constraint firstAttribute="height" constant="25" id="5xP-w8-kpr"/> </constraints> @@ -54,7 +54,7 @@ <nil key="highlightedColor"/> </label> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="3uF-Kg-Gaz"> <rect key="frame" x="307" y="63" width="72" height="24"/> <rect key="frame" x="307" y="24" width="72" height="24"/> <constraints> <constraint firstAttribute="width" constant="72" id="5s8-sc-OTS"/> <constraint firstAttribute="height" constant="24" id="mPT-8u-Drm"/> @@ -76,9 +76,12 @@ <real key="value" value="12"/> </userDefinedRuntimeAttribute> </userDefinedRuntimeAttributes> <connections> <action selector="billAction:" destination="-1" eventType="touchUpInside" id="iYR-5u-KqS"/> </connections> </button> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="0Qr-IS-5hv"> <rect key="frame" x="307" y="96" width="72" height="24"/> <rect key="frame" x="307" y="57" width="72" height="24"/> <color key="backgroundColor" name="FE6E0D"/> <constraints> <constraint firstAttribute="height" constant="24" id="ZKO-Cf-O2U"/> @@ -95,9 +98,12 @@ <real key="value" value="12"/> </userDefinedRuntimeAttribute> </userDefinedRuntimeAttributes> <connections> <action selector="couponsAction:" destination="-1" eventType="touchUpInside" id="w3j-bS-3wu"/> </connections> </button> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="6lk-Nd-Tug" customClass="QMUIButton"> <rect key="frame" x="113" y="100" width="66" height="16"/> <rect key="frame" x="113" y="61" width="66" height="16"/> <fontDescription key="fontDescription" type="system" pointSize="12"/> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <state key="normal" title="年度会员" image="icon_vip_medal"> @@ -105,53 +111,119 @@ </state> </button> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_coin_tiny" translatesAutoresizingMaskIntoConstraints="NO" id="joc-Xf-ULn"> <rect key="frame" x="31" y="159" width="14" height="14"/> <rect key="frame" x="9" y="120" width="14" height="14"/> </imageView> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="玩湃币" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="WDa-Xj-jXp"> <rect key="frame" x="51" y="158.33333333333334" width="40" height="15.666666666666657"/> <rect key="frame" x="29" y="119.33333333333334" width="40" height="15.666666666666657"/> <fontDescription key="fontDescription" type="system" pointSize="13"/> <color key="textColor" red="0.18823529410000001" green="0.3294117647" blue="0.38823529410000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="5GZ-Mz-c7r"> <rect key="frame" x="96" y="158.33333333333334" width="8.3333333333333286" height="15.666666666666657"/> <rect key="frame" x="74" y="119.33333333333334" width="8.3333333333333286" height="15.666666666666657"/> <fontDescription key="fontDescription" type="system" pointSize="13"/> <color key="textColor" red="0.18823529410000001" green="0.3294117647" blue="0.38823529410000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_coin_tiny" translatesAutoresizingMaskIntoConstraints="NO" id="fYH-IU-RDd"> <rect key="frame" x="210" y="159" width="14" height="14"/> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_score" translatesAutoresizingMaskIntoConstraints="NO" id="fYH-IU-RDd"> <rect key="frame" x="197" y="119" width="16" height="16"/> </imageView> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="会员积分" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ft0-mn-MrN"> <rect key="frame" x="230.00000000000003" y="158.33333333333334" width="53.333333333333343" height="15.666666666666657"/> <rect key="frame" x="219" y="119.33333333333334" width="53.333333333333314" height="15.666666666666657"/> <fontDescription key="fontDescription" type="system" pointSize="13"/> <color key="textColor" red="0.18823529410000001" green="0.3294117647" blue="0.38823529410000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="FKV-jp-n9Z"> <rect key="frame" x="288.33333333333331" y="158.33333333333334" width="8.3333333333333144" height="15.666666666666657"/> <rect key="frame" x="277.33333333333331" y="119.33333333333334" width="8.3333333333333144" height="15.666666666666657"/> <fontDescription key="fontDescription" type="system" pointSize="13"/> <color key="textColor" red="0.18823529410000001" green="0.3294117647" blue="0.38823529410000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="bgn-Mv-nv3"> <rect key="frame" x="90.333333333333329" y="116" width="51.999999999999986" height="22"/> <constraints> <constraint firstAttribute="height" constant="22" id="nYC-Nx-coY"/> <constraint firstAttribute="width" constant="52" id="pAF-8d-kMI"/> </constraints> <fontDescription key="fontDescription" type="system" pointSize="10"/> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <state key="normal" title="充值有礼"> <color key="titleColor" red="0.18823529411764706" green="0.32941176470588235" blue="0.38823529411764707" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> </state> <userDefinedRuntimeAttributes> <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/> <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB"> <real key="value" value="11"/> </userDefinedRuntimeAttribute> <userDefinedRuntimeAttribute type="color" keyPath="jq_xibBorderColor"> <color key="value" name="FE6E0D"/> </userDefinedRuntimeAttribute> <userDefinedRuntimeAttribute type="number" keyPath="jq_xibBorderWidth"> <real key="value" value="1"/> </userDefinedRuntimeAttribute> </userDefinedRuntimeAttributes> <connections> <action selector="rechargeAction:" destination="-1" eventType="touchUpInside" id="Vwg-Z8-yj2"/> </connections> </button> <button hidden="YES" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="cWO-5E-szA"> <rect key="frame" x="290.66666666666669" y="116" width="52" height="22"/> <constraints> <constraint firstAttribute="width" constant="52" id="Tto-xt-EoC"/> <constraint firstAttribute="height" constant="22" id="gzD-OM-r2g"/> </constraints> <fontDescription key="fontDescription" type="system" pointSize="10"/> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <state key="normal" title="积分任务"> <color key="titleColor" red="0.18823529410000001" green="0.3294117647" blue="0.38823529410000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> </state> <userDefinedRuntimeAttributes> <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/> <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB"> <real key="value" value="11"/> </userDefinedRuntimeAttribute> <userDefinedRuntimeAttribute type="color" keyPath="jq_xibBorderColor"> <color key="value" name="FE6E0D"/> </userDefinedRuntimeAttribute> <userDefinedRuntimeAttribute type="number" keyPath="jq_xibBorderWidth"> <real key="value" value="1"/> </userDefinedRuntimeAttribute> </userDefinedRuntimeAttributes> </button> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="KrQ-RG-f2e"> <rect key="frame" x="31" y="23" width="174" height="62"/> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <connections> <action selector="userProfileAction:" destination="-1" eventType="touchUpInside" id="V5M-q6-DkH"/> </connections> </button> </subviews> <constraints> <constraint firstItem="cWO-5E-szA" firstAttribute="centerY" secondItem="fYH-IU-RDd" secondAttribute="centerY" id="0K4-94-Qu9"/> <constraint firstItem="cWO-5E-szA" firstAttribute="leading" secondItem="FKV-jp-n9Z" secondAttribute="trailing" constant="5" id="1ir-Ro-5p5"/> <constraint firstItem="fYH-IU-RDd" firstAttribute="centerY" secondItem="joc-Xf-ULn" secondAttribute="centerY" id="8es-JY-3wH"/> <constraint firstItem="FKV-jp-n9Z" firstAttribute="leading" secondItem="ft0-mn-MrN" secondAttribute="trailing" constant="5" id="Bje-9P-TL6"/> <constraint firstAttribute="height" constant="198" id="DLs-yR-39v"/> <constraint firstAttribute="height" constant="152" id="DLs-yR-39v"/> <constraint firstItem="bgn-Mv-nv3" firstAttribute="leading" secondItem="5GZ-Mz-c7r" secondAttribute="trailing" constant="8" id="DpF-1c-uPn"/> <constraint firstItem="FKV-jp-n9Z" firstAttribute="centerY" secondItem="fYH-IU-RDd" secondAttribute="centerY" id="EC9-yz-B0l"/> <constraint firstItem="3uF-Kg-Gaz" firstAttribute="top" secondItem="7GZ-X8-dwC" secondAttribute="top" constant="1" id="FH5-nz-jhD"/> <constraint firstAttribute="trailing" secondItem="3uF-Kg-Gaz" secondAttribute="trailing" constant="14" id="JeX-JH-xyP"/> <constraint firstItem="joc-Xf-ULn" firstAttribute="leading" secondItem="qtJ-Db-Js8" secondAttribute="leading" constant="31" id="P1h-6D-VD6"/> <constraint firstItem="fYH-IU-RDd" firstAttribute="leading" secondItem="qtJ-Db-Js8" secondAttribute="leading" constant="210" id="Pnz-Bg-I7i"/> <constraint firstItem="joc-Xf-ULn" firstAttribute="leading" secondItem="qtJ-Db-Js8" secondAttribute="leading" constant="9" id="P1h-6D-VD6"/> <constraint firstItem="fYH-IU-RDd" firstAttribute="leading" secondItem="qtJ-Db-Js8" secondAttribute="leading" constant="197" id="Pnz-Bg-I7i"/> <constraint firstItem="5GZ-Mz-c7r" firstAttribute="centerY" secondItem="joc-Xf-ULn" secondAttribute="centerY" id="Qon-HQ-zKH"/> <constraint firstItem="joc-Xf-ULn" firstAttribute="top" secondItem="7GZ-X8-dwC" secondAttribute="bottom" constant="35" id="Rmv-lE-vuc"/> <constraint firstItem="KrQ-RG-f2e" firstAttribute="leading" secondItem="7GZ-X8-dwC" secondAttribute="leading" id="SNL-FM-adG"/> <constraint firstItem="0Qr-IS-5hv" firstAttribute="top" secondItem="3uF-Kg-Gaz" secondAttribute="bottom" constant="9" id="SxL-wg-2sS"/> <constraint firstItem="7GZ-X8-dwC" firstAttribute="leading" secondItem="qtJ-Db-Js8" secondAttribute="leading" constant="31" id="Xel-7y-pIY"/> <constraint firstItem="KrQ-RG-f2e" firstAttribute="bottom" secondItem="7GZ-X8-dwC" secondAttribute="bottom" id="Yu6-Bd-L3M"/> <constraint firstItem="5GZ-Mz-c7r" firstAttribute="leading" secondItem="WDa-Xj-jXp" secondAttribute="trailing" constant="5" id="a0v-oX-qug"/> <constraint firstItem="0Qr-IS-5hv" firstAttribute="trailing" secondItem="3uF-Kg-Gaz" secondAttribute="trailing" id="atA-xy-vdE"/> <constraint firstItem="KrQ-RG-f2e" firstAttribute="top" secondItem="7GZ-X8-dwC" secondAttribute="top" id="bUp-kX-KGi"/> <constraint firstItem="bgn-Mv-nv3" firstAttribute="centerY" secondItem="joc-Xf-ULn" secondAttribute="centerY" id="bvu-dp-8Cm"/> <constraint firstItem="yxM-ot-SxY" firstAttribute="trailing" secondItem="KrQ-RG-f2e" secondAttribute="trailing" id="lt3-Vf-EZe"/> <constraint firstItem="WDa-Xj-jXp" firstAttribute="leading" secondItem="joc-Xf-ULn" secondAttribute="trailing" constant="6" id="oAI-dZ-Riw"/> <constraint firstItem="7GZ-X8-dwC" firstAttribute="top" secondItem="qtJ-Db-Js8" secondAttribute="top" constant="62" id="oqf-Lg-A7y"/> <constraint firstItem="7GZ-X8-dwC" firstAttribute="top" secondItem="qtJ-Db-Js8" secondAttribute="top" constant="23" id="oqf-Lg-A7y"/> <constraint firstItem="yxM-ot-SxY" firstAttribute="leading" secondItem="7GZ-X8-dwC" secondAttribute="trailing" constant="20" id="pBF-MQ-B7c"/> <constraint firstItem="6lk-Nd-Tug" firstAttribute="top" secondItem="yxM-ot-SxY" secondAttribute="bottom" constant="6" id="pLj-ZU-af6"/> <constraint firstItem="6lk-Nd-Tug" firstAttribute="leading" secondItem="yxM-ot-SxY" secondAttribute="leading" id="quA-yY-YdL"/> @@ -162,7 +234,7 @@ </constraints> </view> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="积分兑换" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="15P-Xn-N3C"> <rect key="frame" x="30" y="219" width="65.333333333333329" height="22"/> <rect key="frame" x="30" y="173" width="65.333333333333329" height="22"/> <constraints> <constraint firstAttribute="height" constant="22" id="kXr-dR-Nau"/> </constraints> @@ -171,7 +243,7 @@ <nil key="highlightedColor"/> </label> <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" showsHorizontalScrollIndicator="NO" dataMode="none" translatesAutoresizingMaskIntoConstraints="NO" id="yBw-of-rdU"> <rect key="frame" x="0.0" y="250" width="393" height="149"/> <rect key="frame" x="0.0" y="204" width="393" height="149"/> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstAttribute="width" secondItem="yBw-of-rdU" secondAttribute="height" multiplier="1:0.3794" id="hDC-rS-NDq"/> @@ -184,7 +256,7 @@ </collectionViewFlowLayout> </collectionView> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="我的券包" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="GiC-Xf-dhQ"> <rect key="frame" x="30" y="446" width="65.333333333333329" height="22"/> <rect key="frame" x="30" y="400" width="65.333333333333329" height="22"/> <constraints> <constraint firstAttribute="height" constant="22" id="egh-AJ-1Zh"/> </constraints> @@ -193,28 +265,23 @@ <nil key="highlightedColor"/> </label> <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="-55" translatesAutoresizingMaskIntoConstraints="NO" id="3kA-cL-Ed9"> <rect key="frame" x="0.0" y="479" width="393" height="460.33333333333326"/> <rect key="frame" x="0.0" y="433" width="393" height="283"/> <subviews> <button opaque="NO" contentMode="scaleAspectFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Kte-Xd-tVd"> <rect key="frame" x="0.0" y="0.0" width="393" height="257.66666666666669"/> <rect key="frame" x="0.0" y="0.0" width="393" height="283"/> <constraints> <constraint firstAttribute="width" secondItem="Kte-Xd-tVd" secondAttribute="height" multiplier="1:0.6554" id="9pS-AQ-07b"/> <constraint firstAttribute="width" secondItem="Kte-Xd-tVd" secondAttribute="height" multiplier="1:0.72" id="9pS-AQ-07b"/> </constraints> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <state key="normal" backgroundImage="bg_welfare_coupon"/> </button> <button opaque="NO" contentMode="scaleAspectFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="qXG-5F-AcE"> <rect key="frame" x="0.0" y="202.66666666666666" width="393" height="257.66666666666674"/> <constraints> <constraint firstAttribute="width" secondItem="qXG-5F-AcE" secondAttribute="height" multiplier="1:0.6554" id="ulO-xs-8Eb"/> </constraints> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <state key="normal" backgroundImage="bg_welfare_sup"/> <connections> <action selector="couponsAction:" destination="-1" eventType="touchUpInside" id="DXv-od-Hy1"/> </connections> </button> </subviews> </stackView> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="线上商城" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="z6m-j5-DLh"> <rect key="frame" x="30" y="986.33333333333337" width="65.333333333333329" height="22"/> <rect key="frame" x="30" y="763" width="65.333333333333329" height="22"/> <constraints> <constraint firstAttribute="height" constant="22" id="Rfd-bP-qtd"/> </constraints> @@ -223,7 +290,7 @@ <nil key="highlightedColor"/> </label> <button opaque="NO" contentMode="scaleAspectFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="QmB-HQ-3Lg"> <rect key="frame" x="0.0" y="1027.3333333333333" width="393" height="282"/> <rect key="frame" x="0.0" y="804" width="393" height="282.33333333333326"/> <constraints> <constraint firstAttribute="width" secondItem="QmB-HQ-3Lg" secondAttribute="height" multiplier="1:0.7179" id="5Sz-EM-r1Q"/> </constraints> @@ -231,7 +298,7 @@ <state key="normal" backgroundImage="bg_welfare_shop"/> </button> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="线上商城" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="01D-ex-NB6"> <rect key="frame" x="40.999999999999993" y="1384.3333333333333" width="65.333333333333314" height="22"/> <rect key="frame" x="40.999999999999993" y="1161.3333333333333" width="65.333333333333314" height="22"/> <constraints> <constraint firstAttribute="height" constant="22" id="cZB-Sn-Vhw"/> </constraints> @@ -240,7 +307,7 @@ <nil key="highlightedColor"/> </label> <button opaque="NO" contentMode="scaleAspectFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="hBk-90-GU4"> <rect key="frame" x="41" y="1425.3333333333333" width="311" height="203"/> <rect key="frame" x="41" y="1202.3333333333333" width="311" height="202.66666666666674"/> <constraints> <constraint firstAttribute="width" secondItem="hBk-90-GU4" secondAttribute="height" multiplier="1:0.6525" id="iMt-GH-OCP"/> </constraints> @@ -248,7 +315,7 @@ <state key="normal" backgroundImage="bg_welfare"/> </button> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="今日免费" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="8KD-JW-do0"> <rect key="frame" x="40.999999999999993" y="1663.3333333333333" width="65.333333333333314" height="22"/> <rect key="frame" x="40.999999999999993" y="1440" width="65.333333333333314" height="22"/> <constraints> <constraint firstAttribute="height" constant="22" id="pc0-0u-NIz"/> </constraints> @@ -257,7 +324,7 @@ <nil key="highlightedColor"/> </label> <button opaque="NO" contentMode="scaleAspectFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="r4f-Ay-EGJ"> <rect key="frame" x="41" y="1704.3333333333333" width="311" height="203"/> <rect key="frame" x="41" y="1481" width="311" height="203"/> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <state key="normal" backgroundImage="bg_welfare_today"/> </button> @@ -308,8 +375,8 @@ </subviews> <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/> <constraints> <constraint firstItem="Cgs-lB-S86" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="BAX-dN-dqT"/> <constraint firstItem="Cgs-lB-S86" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="Gh1-ol-uEO"/> <constraint firstItem="Cgs-lB-S86" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="topMargin" id="X63-OU-qKL"/> <constraint firstAttribute="bottomMargin" secondItem="Cgs-lB-S86" secondAttribute="bottom" id="Xbf-Ow-2d2"/> <constraint firstAttribute="trailing" secondItem="Cgs-lB-S86" secondAttribute="trailing" id="a9m-9W-Tsw"/> </constraints> @@ -318,11 +385,11 @@ </objects> <resources> <image name="bg_welfare" width="308" height="201"/> <image name="bg_welfare_coupon" width="390" height="256"/> <image name="bg_welfare_coupon" width="390" height="281"/> <image name="bg_welfare_shop" width="390" height="280"/> <image name="bg_welfare_sup" width="390" height="207"/> <image name="bg_welfare_today" width="308" height="201"/> <image name="icon_coin_tiny" width="14" height="14"/> <image name="icon_score" width="16" height="16"/> <image name="icon_vip_medal" width="16" height="16"/> <namedColor name="FE6E0D"> <color red="0.99199998378753662" green="0.53299999237060547" blue="0.0080000003799796104" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>