Commit 0a30c7006c4a07c49cbe19ab5b37e6996cb931cf
Merge branch 'master' of bj.gitlab.cnlive.com:ios-team/LiveVideoCloud
Showing
91 changed files
with
985 additions
and
10 deletions
LiveVideoCloud/LiveVideoCloud.xcodeproj/project.pbxproj
| @@ -26,7 +26,7 @@ | @@ -26,7 +26,7 @@ | ||
| 26 | 812E50581E7699E9004F5FCD /* CNLivePlayerSDK.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 812E50501E7699DC004F5FCD /* CNLivePlayerSDK.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; | 26 | 812E50581E7699E9004F5FCD /* CNLivePlayerSDK.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 812E50501E7699DC004F5FCD /* CNLivePlayerSDK.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; |
| 27 | D2029B861E6EAAA50027CD92 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029B851E6EAAA50027CD92 /* main.m */; }; | 27 | D2029B861E6EAAA50027CD92 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029B851E6EAAA50027CD92 /* main.m */; }; |
| 28 | D2029B8F1E6EAAA50027CD92 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D2029B8D1E6EAAA50027CD92 /* Main.storyboard */; }; | 28 | D2029B8F1E6EAAA50027CD92 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D2029B8D1E6EAAA50027CD92 /* Main.storyboard */; }; |
| 29 | - D2029B911E6EAAA50027CD92 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D2029B901E6EAAA50027CD92 /* Assets.xcassets */; }; | 29 | + D2029B911E6EAAA50027CD92 /* animation.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D2029B901E6EAAA50027CD92 /* animation.xcassets */; }; |
| 30 | D2029B941E6EAAA50027CD92 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D2029B921E6EAAA50027CD92 /* LaunchScreen.storyboard */; }; | 30 | D2029B941E6EAAA50027CD92 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D2029B921E6EAAA50027CD92 /* LaunchScreen.storyboard */; }; |
| 31 | D2029B9F1E6EAAA50027CD92 /* LiveVideoCloudTests.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029B9E1E6EAAA50027CD92 /* LiveVideoCloudTests.m */; }; | 31 | D2029B9F1E6EAAA50027CD92 /* LiveVideoCloudTests.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029B9E1E6EAAA50027CD92 /* LiveVideoCloudTests.m */; }; |
| 32 | D2029BAA1E6EAAA50027CD92 /* LiveVideoCloudUITests.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029BA91E6EAAA50027CD92 /* LiveVideoCloudUITests.m */; }; | 32 | D2029BAA1E6EAAA50027CD92 /* LiveVideoCloudUITests.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029BA91E6EAAA50027CD92 /* LiveVideoCloudUITests.m */; }; |
| @@ -123,6 +123,11 @@ | @@ -123,6 +123,11 @@ | ||
| 123 | D2029D091E6EAE2E0027CD92 /* Foundation+Log.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029CF21E6EAE2E0027CD92 /* Foundation+Log.m */; }; | 123 | D2029D091E6EAE2E0027CD92 /* Foundation+Log.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029CF21E6EAE2E0027CD92 /* Foundation+Log.m */; }; |
| 124 | D2029D0A1E6EAE2E0027CD92 /* ZXServerUrl.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029CFE1E6EAE2E0027CD92 /* ZXServerUrl.m */; }; | 124 | D2029D0A1E6EAE2E0027CD92 /* ZXServerUrl.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029CFE1E6EAE2E0027CD92 /* ZXServerUrl.m */; }; |
| 125 | D2029D161E6EB00D0027CD92 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029D151E6EB00D0027CD92 /* AppDelegate.m */; }; | 125 | D2029D161E6EB00D0027CD92 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029D151E6EB00D0027CD92 /* AppDelegate.m */; }; |
| 126 | + D22830F11E778C0F00627701 /* LiveBaseView.m in Sources */ = {isa = PBXBuildFile; fileRef = D22830F01E778C0F00627701 /* LiveBaseView.m */; }; | ||
| 127 | + D22830FC1E77C2D900627701 /* BottomToolView.m in Sources */ = {isa = PBXBuildFile; fileRef = D22830FB1E77C2D900627701 /* BottomToolView.m */; }; | ||
| 128 | + D22830FF1E77C69E00627701 /* GiftListView.m in Sources */ = {isa = PBXBuildFile; fileRef = D22830FE1E77C69E00627701 /* GiftListView.m */; }; | ||
| 129 | + D22831021E77D83C00627701 /* GiftModelView.m in Sources */ = {isa = PBXBuildFile; fileRef = D22831011E77D83C00627701 /* GiftModelView.m */; }; | ||
| 130 | + D22831091E77D8D500627701 /* GiftModel.m in Sources */ = {isa = PBXBuildFile; fileRef = D22831081E77D8D500627701 /* GiftModel.m */; }; | ||
| 126 | D2575C461E76857100E3A8FC /* LVCAnimationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = D2575C451E76857100E3A8FC /* LVCAnimationManager.m */; }; | 131 | D2575C461E76857100E3A8FC /* LVCAnimationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = D2575C451E76857100E3A8FC /* LVCAnimationManager.m */; }; |
| 127 | D2575C4A1E7685DE00E3A8FC /* UIView+Bubbling.m in Sources */ = {isa = PBXBuildFile; fileRef = D2575C481E7685DE00E3A8FC /* UIView+Bubbling.m */; }; | 132 | D2575C4A1E7685DE00E3A8FC /* UIView+Bubbling.m in Sources */ = {isa = PBXBuildFile; fileRef = D2575C481E7685DE00E3A8FC /* UIView+Bubbling.m */; }; |
| 128 | D2575C671E76A25400E3A8FC /* LVCInteractionController.m in Sources */ = {isa = PBXBuildFile; fileRef = D2575C661E76A25400E3A8FC /* LVCInteractionController.m */; }; | 133 | D2575C671E76A25400E3A8FC /* LVCInteractionController.m in Sources */ = {isa = PBXBuildFile; fileRef = D2575C661E76A25400E3A8FC /* LVCInteractionController.m */; }; |
| @@ -209,7 +214,7 @@ | @@ -209,7 +214,7 @@ | ||
| 209 | D2029B811E6EAAA50027CD92 /* LiveVideoCloud.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = LiveVideoCloud.app; sourceTree = BUILT_PRODUCTS_DIR; }; | 214 | D2029B811E6EAAA50027CD92 /* LiveVideoCloud.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = LiveVideoCloud.app; sourceTree = BUILT_PRODUCTS_DIR; }; |
| 210 | D2029B851E6EAAA50027CD92 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; }; | 215 | D2029B851E6EAAA50027CD92 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; }; |
| 211 | D2029B8E1E6EAAA50027CD92 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; }; | 216 | D2029B8E1E6EAAA50027CD92 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; }; |
| 212 | - D2029B901E6EAAA50027CD92 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; }; | 217 | + D2029B901E6EAAA50027CD92 /* animation.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = animation.xcassets; sourceTree = "<group>"; }; |
| 213 | D2029B931E6EAAA50027CD92 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; }; | 218 | D2029B931E6EAAA50027CD92 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; }; |
| 214 | D2029B951E6EAAA50027CD92 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; | 219 | D2029B951E6EAAA50027CD92 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; |
| 215 | D2029B9A1E6EAAA50027CD92 /* LiveVideoCloudTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = LiveVideoCloudTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; | 220 | D2029B9A1E6EAAA50027CD92 /* LiveVideoCloudTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = LiveVideoCloudTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; |
| @@ -418,6 +423,16 @@ | @@ -418,6 +423,16 @@ | ||
| 418 | D2029CFF1E6EAE2E0027CD92 /* UtilKits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UtilKits.h; sourceTree = "<group>"; }; | 423 | D2029CFF1E6EAE2E0027CD92 /* UtilKits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UtilKits.h; sourceTree = "<group>"; }; |
| 419 | D2029D121E6EAF8D0027CD92 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; }; | 424 | D2029D121E6EAF8D0027CD92 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; }; |
| 420 | D2029D151E6EB00D0027CD92 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; }; | 425 | D2029D151E6EB00D0027CD92 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; }; |
| 426 | + D22830EF1E778C0F00627701 /* LiveBaseView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LiveBaseView.h; sourceTree = "<group>"; }; | ||
| 427 | + D22830F01E778C0F00627701 /* LiveBaseView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LiveBaseView.m; sourceTree = "<group>"; }; | ||
| 428 | + D22830FA1E77C2D900627701 /* BottomToolView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BottomToolView.h; sourceTree = "<group>"; }; | ||
| 429 | + D22830FB1E77C2D900627701 /* BottomToolView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BottomToolView.m; sourceTree = "<group>"; }; | ||
| 430 | + D22830FD1E77C69E00627701 /* GiftListView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GiftListView.h; sourceTree = "<group>"; }; | ||
| 431 | + D22830FE1E77C69E00627701 /* GiftListView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GiftListView.m; sourceTree = "<group>"; }; | ||
| 432 | + D22831001E77D83C00627701 /* GiftModelView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GiftModelView.h; sourceTree = "<group>"; }; | ||
| 433 | + D22831011E77D83C00627701 /* GiftModelView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GiftModelView.m; sourceTree = "<group>"; }; | ||
| 434 | + D22831071E77D8D500627701 /* GiftModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GiftModel.h; sourceTree = "<group>"; }; | ||
| 435 | + D22831081E77D8D500627701 /* GiftModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GiftModel.m; sourceTree = "<group>"; }; | ||
| 421 | D2575C441E76857100E3A8FC /* LVCAnimationManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCAnimationManager.h; sourceTree = "<group>"; }; | 436 | D2575C441E76857100E3A8FC /* LVCAnimationManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCAnimationManager.h; sourceTree = "<group>"; }; |
| 422 | D2575C451E76857100E3A8FC /* LVCAnimationManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCAnimationManager.m; sourceTree = "<group>"; }; | 437 | D2575C451E76857100E3A8FC /* LVCAnimationManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCAnimationManager.m; sourceTree = "<group>"; }; |
| 423 | D2575C481E7685DE00E3A8FC /* UIView+Bubbling.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+Bubbling.m"; sourceTree = "<group>"; }; | 438 | D2575C481E7685DE00E3A8FC /* UIView+Bubbling.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+Bubbling.m"; sourceTree = "<group>"; }; |
| @@ -558,7 +573,7 @@ | @@ -558,7 +573,7 @@ | ||
| 558 | D2029BD01E6EADE10027CD92 /* Classes */, | 573 | D2029BD01E6EADE10027CD92 /* Classes */, |
| 559 | D2029CD11E6EADE70027CD92 /* HttpService */, | 574 | D2029CD11E6EADE70027CD92 /* HttpService */, |
| 560 | D2029CD71E6EAE140027CD92 /* Resource */, | 575 | D2029CD71E6EAE140027CD92 /* Resource */, |
| 561 | - D2029B901E6EAAA50027CD92 /* Assets.xcassets */, | 576 | + D2029B901E6EAAA50027CD92 /* animation.xcassets */, |
| 562 | D2029CD61E6EADFB0027CD92 /* PrefixHeader.pch */, | 577 | D2029CD61E6EADFB0027CD92 /* PrefixHeader.pch */, |
| 563 | D2029B841E6EAAA50027CD92 /* Supporting Files */, | 578 | D2029B841E6EAAA50027CD92 /* Supporting Files */, |
| 564 | ); | 579 | ); |
| @@ -1143,9 +1158,65 @@ | @@ -1143,9 +1158,65 @@ | ||
| 1143 | path = AppDelegate; | 1158 | path = AppDelegate; |
| 1144 | sourceTree = "<group>"; | 1159 | sourceTree = "<group>"; |
| 1145 | }; | 1160 | }; |
| 1161 | + D22830F51E77C24900627701 /* GiftViews */ = { | ||
| 1162 | + isa = PBXGroup; | ||
| 1163 | + children = ( | ||
| 1164 | + D22830FD1E77C69E00627701 /* GiftListView.h */, | ||
| 1165 | + D22830FE1E77C69E00627701 /* GiftListView.m */, | ||
| 1166 | + D22831001E77D83C00627701 /* GiftModelView.h */, | ||
| 1167 | + D22831011E77D83C00627701 /* GiftModelView.m */, | ||
| 1168 | + ); | ||
| 1169 | + path = GiftViews; | ||
| 1170 | + sourceTree = "<group>"; | ||
| 1171 | + }; | ||
| 1172 | + D22830F61E77C26C00627701 /* Chat */ = { | ||
| 1173 | + isa = PBXGroup; | ||
| 1174 | + children = ( | ||
| 1175 | + D22830F71E77C27A00627701 /* ChatViews */, | ||
| 1176 | + ); | ||
| 1177 | + path = Chat; | ||
| 1178 | + sourceTree = "<group>"; | ||
| 1179 | + }; | ||
| 1180 | + D22830F71E77C27A00627701 /* ChatViews */ = { | ||
| 1181 | + isa = PBXGroup; | ||
| 1182 | + children = ( | ||
| 1183 | + ); | ||
| 1184 | + path = ChatViews; | ||
| 1185 | + sourceTree = "<group>"; | ||
| 1186 | + }; | ||
| 1187 | + D22830F81E77C2A700627701 /* TopToolView */ = { | ||
| 1188 | + isa = PBXGroup; | ||
| 1189 | + children = ( | ||
| 1190 | + ); | ||
| 1191 | + path = TopToolView; | ||
| 1192 | + sourceTree = "<group>"; | ||
| 1193 | + }; | ||
| 1194 | + D22830F91E77C2D900627701 /* BottomToolView */ = { | ||
| 1195 | + isa = PBXGroup; | ||
| 1196 | + children = ( | ||
| 1197 | + D22830FA1E77C2D900627701 /* BottomToolView.h */, | ||
| 1198 | + D22830FB1E77C2D900627701 /* BottomToolView.m */, | ||
| 1199 | + ); | ||
| 1200 | + path = BottomToolView; | ||
| 1201 | + sourceTree = "<group>"; | ||
| 1202 | + }; | ||
| 1203 | + D22831061E77D8D500627701 /* GiftModel */ = { | ||
| 1204 | + isa = PBXGroup; | ||
| 1205 | + children = ( | ||
| 1206 | + D22831071E77D8D500627701 /* GiftModel.h */, | ||
| 1207 | + D22831081E77D8D500627701 /* GiftModel.m */, | ||
| 1208 | + ); | ||
| 1209 | + path = GiftModel; | ||
| 1210 | + sourceTree = "<group>"; | ||
| 1211 | + }; | ||
| 1146 | D2575C431E76846900E3A8FC /* InteractionSections */ = { | 1212 | D2575C431E76846900E3A8FC /* InteractionSections */ = { |
| 1147 | isa = PBXGroup; | 1213 | isa = PBXGroup; |
| 1148 | children = ( | 1214 | children = ( |
| 1215 | + D22830F91E77C2D900627701 /* BottomToolView */, | ||
| 1216 | + D22830F81E77C2A700627701 /* TopToolView */, | ||
| 1217 | + D22830F61E77C26C00627701 /* Chat */, | ||
| 1218 | + D22830EF1E778C0F00627701 /* LiveBaseView.h */, | ||
| 1219 | + D22830F01E778C0F00627701 /* LiveBaseView.m */, | ||
| 1149 | D2575C651E76A25400E3A8FC /* LVCInteractionController.h */, | 1220 | D2575C651E76A25400E3A8FC /* LVCInteractionController.h */, |
| 1150 | D2575C661E76A25400E3A8FC /* LVCInteractionController.m */, | 1221 | D2575C661E76A25400E3A8FC /* LVCInteractionController.m */, |
| 1151 | D2575C681E76A42B00E3A8FC /* Gift */, | 1222 | D2575C681E76A42B00E3A8FC /* Gift */, |
| @@ -1170,7 +1241,9 @@ | @@ -1170,7 +1241,9 @@ | ||
| 1170 | children = ( | 1241 | children = ( |
| 1171 | D2575C691E76A45400E3A8FC /* LVCGiftManager.h */, | 1242 | D2575C691E76A45400E3A8FC /* LVCGiftManager.h */, |
| 1172 | D2575C6A1E76A45400E3A8FC /* LVCGiftManager.m */, | 1243 | D2575C6A1E76A45400E3A8FC /* LVCGiftManager.m */, |
| 1244 | + D22830F51E77C24900627701 /* GiftViews */, | ||
| 1173 | D2575C6C1E76A4F300E3A8FC /* GiftResource */, | 1245 | D2575C6C1E76A4F300E3A8FC /* GiftResource */, |
| 1246 | + D22831061E77D8D500627701 /* GiftModel */, | ||
| 1174 | ); | 1247 | ); |
| 1175 | path = Gift; | 1248 | path = Gift; |
| 1176 | sourceTree = "<group>"; | 1249 | sourceTree = "<group>"; |
| @@ -1422,7 +1495,7 @@ | @@ -1422,7 +1495,7 @@ | ||
| 1422 | D2029CC91E6EADE10027CD92 /* SVProgressHUD.bundle in Resources */, | 1495 | D2029CC91E6EADE10027CD92 /* SVProgressHUD.bundle in Resources */, |
| 1423 | D2575C801E76A4F300E3A8FC /* resource.bundle in Resources */, | 1496 | D2575C801E76A4F300E3A8FC /* resource.bundle in Resources */, |
| 1424 | D2029B941E6EAAA50027CD92 /* LaunchScreen.storyboard in Resources */, | 1497 | D2029B941E6EAAA50027CD92 /* LaunchScreen.storyboard in Resources */, |
| 1425 | - D2029B911E6EAAA50027CD92 /* Assets.xcassets in Resources */, | 1498 | + D2029B911E6EAAA50027CD92 /* animation.xcassets in Resources */, |
| 1426 | D2029CB01E6EADE10027CD92 /* MJRefresh.bundle in Resources */, | 1499 | D2029CB01E6EADE10027CD92 /* MJRefresh.bundle in Resources */, |
| 1427 | D2575C7C1E76A4F300E3A8FC /* NHFighterView.nib in Resources */, | 1500 | D2575C7C1E76A4F300E3A8FC /* NHFighterView.nib in Resources */, |
| 1428 | 812E50541E7699DC004F5FCD /* KSYGPUResource.bundle in Resources */, | 1501 | 812E50541E7699DC004F5FCD /* KSYGPUResource.bundle in Resources */, |
| @@ -1452,6 +1525,7 @@ | @@ -1452,6 +1525,7 @@ | ||
| 1452 | buildActionMask = 2147483647; | 1525 | buildActionMask = 2147483647; |
| 1453 | files = ( | 1526 | files = ( |
| 1454 | D2029CC31E6EADE10027CD92 /* UIImageView+HighlightedWebCache.m in Sources */, | 1527 | D2029CC31E6EADE10027CD92 /* UIImageView+HighlightedWebCache.m in Sources */, |
| 1528 | + D22830FF1E77C69E00627701 /* GiftListView.m in Sources */, | ||
| 1455 | D2029CC01E6EADE10027CD92 /* UIImage+GIF.m in Sources */, | 1529 | D2029CC01E6EADE10027CD92 /* UIImage+GIF.m in Sources */, |
| 1456 | D2029BCF1E6EADD70027CD92 /* ZXTabBarController.m in Sources */, | 1530 | D2029BCF1E6EADD70027CD92 /* ZXTabBarController.m in Sources */, |
| 1457 | D2029D071E6EAE2E0027CD92 /* ZXConst.m in Sources */, | 1531 | D2029D071E6EAE2E0027CD92 /* ZXConst.m in Sources */, |
| @@ -1463,6 +1537,7 @@ | @@ -1463,6 +1537,7 @@ | ||
| 1463 | D2029CA01E6EADE10027CD92 /* NSObject+MJProperty.m in Sources */, | 1537 | D2029CA01E6EADE10027CD92 /* NSObject+MJProperty.m in Sources */, |
| 1464 | D2029CB51E6EADE10027CD92 /* SDiOSVersion.m in Sources */, | 1538 | D2029CB51E6EADE10027CD92 /* SDiOSVersion.m in Sources */, |
| 1465 | D2029C9C1E6EADE10027CD92 /* MJPropertyType.m in Sources */, | 1539 | D2029C9C1E6EADE10027CD92 /* MJPropertyType.m in Sources */, |
| 1540 | + D22831091E77D8D500627701 /* GiftModel.m in Sources */, | ||
| 1466 | D2029CCD1E6EADE10027CD92 /* SearchModel.m in Sources */, | 1541 | D2029CCD1E6EADE10027CD92 /* SearchModel.m in Sources */, |
| 1467 | 810B65051E779B1F00133E15 /* NSLayoutConstraint+MASDebugAdditions.m in Sources */, | 1542 | 810B65051E779B1F00133E15 /* NSLayoutConstraint+MASDebugAdditions.m in Sources */, |
| 1468 | D2029CCB1E6EADE10027CD92 /* SVRadialGradientLayer.m in Sources */, | 1543 | D2029CCB1E6EADE10027CD92 /* SVRadialGradientLayer.m in Sources */, |
| @@ -1476,6 +1551,7 @@ | @@ -1476,6 +1551,7 @@ | ||
| 1476 | D2575C7A1E76A4F300E3A8FC /* NHCarViews.m in Sources */, | 1551 | D2575C7A1E76A4F300E3A8FC /* NHCarViews.m in Sources */, |
| 1477 | D2029CBC1E6EADE10027CD92 /* SDWebImageDownloaderOperation.m in Sources */, | 1552 | D2029CBC1E6EADE10027CD92 /* SDWebImageDownloaderOperation.m in Sources */, |
| 1478 | D2029CA51E6EADE10027CD92 /* MJRefreshFooter.m in Sources */, | 1553 | D2029CA51E6EADE10027CD92 /* MJRefreshFooter.m in Sources */, |
| 1554 | + D22830FC1E77C2D900627701 /* BottomToolView.m in Sources */, | ||
| 1479 | 810B65061E779B1F00133E15 /* View+MASAdditions.m in Sources */, | 1555 | 810B65061E779B1F00133E15 /* View+MASAdditions.m in Sources */, |
| 1480 | D2029D161E6EB00D0027CD92 /* AppDelegate.m in Sources */, | 1556 | D2029D161E6EB00D0027CD92 /* AppDelegate.m in Sources */, |
| 1481 | D2029CB71E6EADE10027CD92 /* NSData+ImageContentType.m in Sources */, | 1557 | D2029CB71E6EADE10027CD92 /* NSData+ImageContentType.m in Sources */, |
| @@ -1500,6 +1576,7 @@ | @@ -1500,6 +1576,7 @@ | ||
| 1500 | D2029CC71E6EADE10027CD92 /* SVIndefiniteAnimatedView.m in Sources */, | 1576 | D2029CC71E6EADE10027CD92 /* SVIndefiniteAnimatedView.m in Sources */, |
| 1501 | D2029CA31E6EADE10027CD92 /* MJRefreshBackFooter.m in Sources */, | 1577 | D2029CA31E6EADE10027CD92 /* MJRefreshBackFooter.m in Sources */, |
| 1502 | D2575C4A1E7685DE00E3A8FC /* UIView+Bubbling.m in Sources */, | 1578 | D2575C4A1E7685DE00E3A8FC /* UIView+Bubbling.m in Sources */, |
| 1579 | + D22831021E77D83C00627701 /* GiftModelView.m in Sources */, | ||
| 1503 | D2029CA61E6EADE10027CD92 /* MJRefreshHeader.m in Sources */, | 1580 | D2029CA61E6EADE10027CD92 /* MJRefreshHeader.m in Sources */, |
| 1504 | D2029CC41E6EADE10027CD92 /* UIImageView+WebCache.m in Sources */, | 1581 | D2029CC41E6EADE10027CD92 /* UIImageView+WebCache.m in Sources */, |
| 1505 | D2029CC81E6EADE10027CD92 /* SVProgressAnimatedView.m in Sources */, | 1582 | D2029CC81E6EADE10027CD92 /* SVProgressAnimatedView.m in Sources */, |
| @@ -1542,6 +1619,7 @@ | @@ -1542,6 +1619,7 @@ | ||
| 1542 | D2029CCA1E6EADE10027CD92 /* SVProgressHUD.m in Sources */, | 1619 | D2029CCA1E6EADE10027CD92 /* SVProgressHUD.m in Sources */, |
| 1543 | D2029CA81E6EADE10027CD92 /* MJRefreshAutoNormalFooter.m in Sources */, | 1620 | D2029CA81E6EADE10027CD92 /* MJRefreshAutoNormalFooter.m in Sources */, |
| 1544 | D2029C891E6EADE10027CD92 /* AFSecurityPolicy.m in Sources */, | 1621 | D2029C891E6EADE10027CD92 /* AFSecurityPolicy.m in Sources */, |
| 1622 | + D22830F11E778C0F00627701 /* LiveBaseView.m in Sources */, | ||
| 1545 | D2029CBA1E6EADE10027CD92 /* SDWebImageDecoder.m in Sources */, | 1623 | D2029CBA1E6EADE10027CD92 /* SDWebImageDecoder.m in Sources */, |
| 1546 | D2029D081E6EAE2E0027CD92 /* ZXDeviceInfo.m in Sources */, | 1624 | D2029D081E6EAE2E0027CD92 /* ZXDeviceInfo.m in Sources */, |
| 1547 | D2029CC21E6EADE10027CD92 /* UIImage+WebP.m in Sources */, | 1625 | D2029CC21E6EADE10027CD92 /* UIImage+WebP.m in Sources */, |
LiveVideoCloud/LiveVideoCloud/Classes/Sections/InteractionSections/BottomToolView/BottomToolView.h
0 → 100644
| 1 | +// | ||
| 2 | +// BottomToolView.h | ||
| 3 | +// LiveVideoCloud | ||
| 4 | +// | ||
| 5 | +// Created by 张旭 on 2017/3/14. | ||
| 6 | +// Copyright © 2017年 cnlive. All rights reserved. | ||
| 7 | +// | ||
| 8 | + | ||
| 9 | +#import "BaseView.h" | ||
| 10 | + | ||
| 11 | +typedef NS_ENUM(NSInteger, BtnClickType) {//底部按钮类型 | ||
| 12 | + BtnClickTypeChat = 1,//聊天按钮点击 | ||
| 13 | + BtnClickTypePriChat ,//私聊按钮点击 | ||
| 14 | + BtnClickTypeGift ,//礼物按钮点击 | ||
| 15 | +}; | ||
| 16 | + | ||
| 17 | +@protocol bottomBtnDeledate <NSObject> | ||
| 18 | + | ||
| 19 | +- (void)bottomActionWithType:(BtnClickType)btnType; | ||
| 20 | + | ||
| 21 | +@end | ||
| 22 | +@interface BottomToolView : BaseView | ||
| 23 | + | ||
| 24 | +@property (nonatomic) id <bottomBtnDeledate> delegate; | ||
| 25 | + | ||
| 26 | +@end |
LiveVideoCloud/LiveVideoCloud/Classes/Sections/InteractionSections/BottomToolView/BottomToolView.m
0 → 100644
| 1 | +// | ||
| 2 | +// BottomToolView.m | ||
| 3 | +// LiveVideoCloud | ||
| 4 | +// | ||
| 5 | +// Created by 张旭 on 2017/3/14. | ||
| 6 | +// Copyright © 2017年 cnlive. All rights reserved. | ||
| 7 | +// | ||
| 8 | + | ||
| 9 | +#import "BottomToolView.h" | ||
| 10 | + | ||
| 11 | +@interface BottomToolView () | ||
| 12 | + | ||
| 13 | +@property (nonatomic ,strong) UIButton * _Nullable chatBtn; | ||
| 14 | +@property (nonatomic ,strong) UIButton * _Nullable privateChatBtn; | ||
| 15 | +@property (nonatomic ,strong) UIButton * _Nullable giftBtn; | ||
| 16 | + | ||
| 17 | +@end | ||
| 18 | + | ||
| 19 | +@implementation BottomToolView | ||
| 20 | + | ||
| 21 | +- (instancetype)initWithFrame:(CGRect)frame | ||
| 22 | +{ | ||
| 23 | + if (self = [super initWithFrame:frame]) { | ||
| 24 | + [self addSubview:self.chatBtn]; | ||
| 25 | + [self addSubview:self.privateChatBtn]; | ||
| 26 | + [self addSubview:self.giftBtn]; | ||
| 27 | + } | ||
| 28 | + return self; | ||
| 29 | +} | ||
| 30 | + | ||
| 31 | +#pragma mark - buttonClick | ||
| 32 | +- (void)chatAction | ||
| 33 | +{ | ||
| 34 | + | ||
| 35 | +} | ||
| 36 | + | ||
| 37 | +- (void)privateChatAction | ||
| 38 | +{ | ||
| 39 | + | ||
| 40 | +} | ||
| 41 | + | ||
| 42 | +- (void)giftAction | ||
| 43 | +{ | ||
| 44 | + if ([self.delegate respondsToSelector:@selector(bottomActionWithType:)]) { | ||
| 45 | + [self.delegate bottomActionWithType:BtnClickTypeGift]; | ||
| 46 | + } | ||
| 47 | +} | ||
| 48 | + | ||
| 49 | +#pragma mark - getter | ||
| 50 | +- (UIButton *)chatBtn | ||
| 51 | +{ | ||
| 52 | + if (!_chatBtn) | ||
| 53 | + { | ||
| 54 | + UIButton *chatBtn = [UIButton buttonWithType:UIButtonTypeCustom]; | ||
| 55 | + chatBtn.frame = CGRectMake(10, (self.height - 45)*0.5, 45, 45); | ||
| 56 | + [chatBtn setBackgroundImage:[UIImage imageNamed:@"LiveChatNormal"] forState:UIControlStateNormal]; | ||
| 57 | + [chatBtn setBackgroundImage:[UIImage imageNamed:@"LiveChatTouch"] forState:UIControlStateHighlighted]; | ||
| 58 | + [chatBtn addTarget:self action:@selector(chatAction) forControlEvents:UIControlEventTouchUpInside]; | ||
| 59 | + _chatBtn = chatBtn; | ||
| 60 | + } | ||
| 61 | + return _chatBtn; | ||
| 62 | +} | ||
| 63 | + | ||
| 64 | +- (UIButton *)privateChatBtn | ||
| 65 | +{ | ||
| 66 | + if (!_privateChatBtn) | ||
| 67 | + { | ||
| 68 | + UIButton *privateChatBtn = [UIButton buttonWithType:UIButtonTypeCustom]; | ||
| 69 | + privateChatBtn.frame = CGRectMake(self.width*0.5 - 50, (self.height - 45)*0.5, 45, 45); | ||
| 70 | + [privateChatBtn setBackgroundImage:[UIImage imageNamed:@"LiveChatNormal"] forState:UIControlStateNormal]; | ||
| 71 | + [privateChatBtn setBackgroundImage:[UIImage imageNamed:@"LiveChatTouch"] forState:UIControlStateHighlighted]; | ||
| 72 | + [privateChatBtn addTarget:self action:@selector(privateChatAction) forControlEvents:UIControlEventTouchUpInside]; | ||
| 73 | + _privateChatBtn = privateChatBtn; | ||
| 74 | + } | ||
| 75 | + return _privateChatBtn; | ||
| 76 | +} | ||
| 77 | + | ||
| 78 | +- (UIButton *)giftBtn | ||
| 79 | +{ | ||
| 80 | + if (!_giftBtn) | ||
| 81 | + { | ||
| 82 | + UIButton *giftBtn = [UIButton buttonWithType:UIButtonTypeCustom]; | ||
| 83 | + giftBtn.frame = CGRectMake(self.width*0.5 + 10, (self.height - 45)*0.5, 45, 45); | ||
| 84 | + [giftBtn setBackgroundImage:[UIImage imageNamed:@"LiveChatGiftNormal"] forState:UIControlStateNormal]; | ||
| 85 | + [giftBtn setBackgroundImage:[UIImage imageNamed:@"LiveChatGiftTouch"] forState:UIControlStateHighlighted]; | ||
| 86 | + [giftBtn addTarget:self action:@selector(giftAction) forControlEvents:UIControlEventTouchUpInside]; | ||
| 87 | + _giftBtn = giftBtn; | ||
| 88 | + } | ||
| 89 | + return _giftBtn; | ||
| 90 | +} | ||
| 91 | + | ||
| 92 | +/* | ||
| 93 | +// Only override drawRect: if you perform custom drawing. | ||
| 94 | +// An empty implementation adversely affects performance during animation. | ||
| 95 | +- (void)drawRect:(CGRect)rect { | ||
| 96 | + // Drawing code | ||
| 97 | +} | ||
| 98 | +*/ | ||
| 99 | + | ||
| 100 | +@end |
LiveVideoCloud/LiveVideoCloud/Classes/Sections/InteractionSections/Gift/GiftModel/GiftModel.h
0 → 100644
| 1 | +// | ||
| 2 | +// GiftModel.h | ||
| 3 | +// LiveVideoCloud | ||
| 4 | +// | ||
| 5 | +// Created by 张旭 on 2017/3/14. | ||
| 6 | +// Copyright © 2017年 cnlive. All rights reserved. | ||
| 7 | +// | ||
| 8 | + | ||
| 9 | +#import "BaseModel.h" | ||
| 10 | + | ||
| 11 | +typedef NS_ENUM(NSInteger, GiftModelType) {//礼物类型 | ||
| 12 | + GiftModelTypeCommon = 1,//普通礼物 | ||
| 13 | + GiftModelTypeSpecial //特殊(豪华)礼物 | ||
| 14 | +}; | ||
| 15 | + | ||
| 16 | +@interface GiftModel : BaseModel | ||
| 17 | + | ||
| 18 | +@property (nonatomic ,copy) NSString * _Nullable image; | ||
| 19 | +@property (nonatomic ) GiftModelType type; | ||
| 20 | +@property (nonatomic ,copy) NSString * _Nullable price; | ||
| 21 | + | ||
| 22 | +@end |
LiveVideoCloud/LiveVideoCloud/Classes/Sections/InteractionSections/Gift/GiftModel/GiftModel.m
0 → 100644
LiveVideoCloud/LiveVideoCloud/Classes/Sections/InteractionSections/Gift/GiftResource/NHPlaneViews.m
| @@ -39,7 +39,7 @@ | @@ -39,7 +39,7 @@ | ||
| 39 | 39 | ||
| 40 | CGPathAddQuadCurveToPoint(path, NULL, endPoint.x, endPoint.y, endPoint.x, endPoint.y); | 40 | CGPathAddQuadCurveToPoint(path, NULL, endPoint.x, endPoint.y, endPoint.x, endPoint.y); |
| 41 | position.path = path; | 41 | position.path = path; |
| 42 | - position.duration = 4.f; | 42 | + position.duration = 5.f; |
| 43 | position.speed = 0.6; | 43 | position.speed = 0.6; |
| 44 | position.removedOnCompletion = NO; | 44 | position.removedOnCompletion = NO; |
| 45 | position.fillMode = kCAFillModeForwards; | 45 | position.fillMode = kCAFillModeForwards; |
LiveVideoCloud/LiveVideoCloud/Classes/Sections/InteractionSections/Gift/GiftViews/GiftListView.h
0 → 100644
LiveVideoCloud/LiveVideoCloud/Classes/Sections/InteractionSections/Gift/GiftViews/GiftListView.m
0 → 100644
| 1 | +// | ||
| 2 | +// GiftListView.m | ||
| 3 | +// LiveVideoCloud | ||
| 4 | +// | ||
| 5 | +// Created by 张旭 on 2017/3/14. | ||
| 6 | +// Copyright © 2017年 cnlive. All rights reserved. | ||
| 7 | +// | ||
| 8 | + | ||
| 9 | +#import "GiftListView.h" | ||
| 10 | +#import "GiftModel.h" | ||
| 11 | + | ||
| 12 | +#define MAX_LINE_COUNT 4 | ||
| 13 | +#define MAX_ROW_COUNT 2 | ||
| 14 | + | ||
| 15 | +@interface GiftListView () | ||
| 16 | + | ||
| 17 | +@property (nonatomic ,strong) NSArray <GiftModel *>* _Nullable giftArray; | ||
| 18 | + | ||
| 19 | +@end | ||
| 20 | + | ||
| 21 | +@implementation GiftListView | ||
| 22 | + | ||
| 23 | +- (instancetype)initWithFrame:(CGRect)frame | ||
| 24 | +{ | ||
| 25 | + if (self = [super initWithFrame:frame]) { | ||
| 26 | + | ||
| 27 | + | ||
| 28 | + UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:self.bounds]; | ||
| 29 | + scrollView.contentSize = CGSizeMake(self.width *(self.giftArray.count/(MAX_ROW_COUNT*MAX_LINE_COUNT) + 1), self.height); | ||
| 30 | + scrollView.pagingEnabled = YES; | ||
| 31 | + scrollView.bounces = NO; | ||
| 32 | + scrollView.showsVerticalScrollIndicator = NO; | ||
| 33 | + scrollView.showsHorizontalScrollIndicator = NO; | ||
| 34 | + scrollView.backgroundColor = [UIColor blueColor]; | ||
| 35 | + [self addSubview:scrollView]; | ||
| 36 | + | ||
| 37 | + int line = 0; | ||
| 38 | + int row = 0; | ||
| 39 | + CGFloat giftX = 0; | ||
| 40 | + CGFloat giftY = 0; | ||
| 41 | + int page = 0; | ||
| 42 | + for (int i = 0; i < self.giftArray.count; i ++) { | ||
| 43 | + | ||
| 44 | + if (i % MAX_LINE_COUNT == 0 && i > 0) { | ||
| 45 | + line ++; | ||
| 46 | + } | ||
| 47 | + if (i % (MAX_LINE_COUNT * MAX_ROW_COUNT) == 0 && i > 0) { | ||
| 48 | + page++; | ||
| 49 | + line = 0; | ||
| 50 | + } | ||
| 51 | + row = i % MAX_LINE_COUNT; | ||
| 52 | + CGFloat giftWidth = self.width / MAX_LINE_COUNT * 1.0; | ||
| 53 | + CGFloat giftHeight = self.height / MAX_ROW_COUNT * 1.0; | ||
| 54 | + giftX = row * giftWidth + page * scrollView.width; | ||
| 55 | + giftY = line * giftHeight; | ||
| 56 | + | ||
| 57 | + UIView *giftView = [self giftViewWithFrame:CGRectMake(giftX, giftY, giftWidth, giftHeight) model:self.giftArray[i]]; | ||
| 58 | + giftView.backgroundColor = ZXRandomColor; | ||
| 59 | + | ||
| 60 | + UIImageView *picImg = [[UIImageView alloc] initWithImage:[UIImage imageNamed:self.giftArray[i].image]]; | ||
| 61 | + picImg.centerX = giftView.width * 0.5; | ||
| 62 | + picImg.centerY = giftView.height * 0.5; | ||
| 63 | + [giftView addSubview:picImg]; | ||
| 64 | + | ||
| 65 | + [scrollView addSubview:giftView]; | ||
| 66 | + } | ||
| 67 | + } | ||
| 68 | + return self; | ||
| 69 | +} | ||
| 70 | + | ||
| 71 | +- (UIView *)giftViewWithFrame:(CGRect)frame model:(GiftModel *)model | ||
| 72 | +{ | ||
| 73 | + UIView *giftView = [[UIView alloc] initWithFrame:frame]; | ||
| 74 | + switch (model.type) { | ||
| 75 | + case GiftModelTypeCommon: | ||
| 76 | + { | ||
| 77 | + UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(giftView.width - 17, 3, 15, 15)]; | ||
| 78 | + imageView.backgroundColor = ZXRandomColor; | ||
| 79 | + [giftView addSubview:imageView]; | ||
| 80 | + } | ||
| 81 | + break; | ||
| 82 | + case GiftModelTypeSpecial: | ||
| 83 | + { | ||
| 84 | + | ||
| 85 | + } | ||
| 86 | + break; | ||
| 87 | + default: | ||
| 88 | + break; | ||
| 89 | + } | ||
| 90 | + | ||
| 91 | + UIButton *coin = [[UIButton alloc] initWithFrame:CGRectMake(0, giftView.height - 13, 15, 10)]; | ||
| 92 | + coin.centerX = giftView.width * 0.5; | ||
| 93 | + coin.backgroundColor = ZXRandomColor; | ||
| 94 | + [giftView addSubview:coin]; | ||
| 95 | + return giftView; | ||
| 96 | +} | ||
| 97 | + | ||
| 98 | +- (NSArray *)giftArray | ||
| 99 | +{ | ||
| 100 | + if (!_giftArray) | ||
| 101 | + { | ||
| 102 | + GiftModel *model = [[GiftModel alloc] init]; | ||
| 103 | + model.image = @"love"; | ||
| 104 | + model.type = GiftModelTypeCommon; | ||
| 105 | + model.price = @"3"; | ||
| 106 | + _giftArray = [[NSArray alloc] initWithObjects:model,model,model,model,model,model,model,model,model,model, nil]; | ||
| 107 | + } | ||
| 108 | + return _giftArray; | ||
| 109 | +} | ||
| 110 | + | ||
| 111 | +/* | ||
| 112 | +// Only override drawRect: if you perform custom drawing. | ||
| 113 | +// An empty implementation adversely affects performance during animation. | ||
| 114 | +- (void)drawRect:(CGRect)rect { | ||
| 115 | + // Drawing code | ||
| 116 | +} | ||
| 117 | +*/ | ||
| 118 | + | ||
| 119 | +@end |
LiveVideoCloud/LiveVideoCloud/Classes/Sections/InteractionSections/Gift/GiftViews/GiftModelView.h
0 → 100644
| 1 | +// | ||
| 2 | +// GiftModelView.h | ||
| 3 | +// LiveVideoCloud | ||
| 4 | +// | ||
| 5 | +// Created by 张旭 on 2017/3/14. | ||
| 6 | +// Copyright © 2017年 cnlive. All rights reserved. | ||
| 7 | +// | ||
| 8 | + | ||
| 9 | +#import "BaseView.h" | ||
| 10 | + | ||
| 11 | +@class GiftModel; | ||
| 12 | +@interface GiftModelView : BaseView | ||
| 13 | + | ||
| 14 | ++ (instancetype)giftViewWithModel:(GiftModel *)giftModel; | ||
| 15 | +@end |
LiveVideoCloud/LiveVideoCloud/Classes/Sections/InteractionSections/Gift/GiftViews/GiftModelView.m
0 → 100644
| 1 | +// | ||
| 2 | +// GiftModelView.m | ||
| 3 | +// LiveVideoCloud | ||
| 4 | +// | ||
| 5 | +// Created by 张旭 on 2017/3/14. | ||
| 6 | +// Copyright © 2017年 cnlive. All rights reserved. | ||
| 7 | +// | ||
| 8 | + | ||
| 9 | +#import "GiftModelView.h" | ||
| 10 | +#import "GiftModel.h" | ||
| 11 | + | ||
| 12 | +@implementation GiftModelView | ||
| 13 | + | ||
| 14 | +//+ (instancetype)giftViewWithModel:(GiftModel *)giftModel | ||
| 15 | +//{ | ||
| 16 | +// GiftModelView *view = [[GiftModelView alloc] init]; | ||
| 17 | +// view | ||
| 18 | +// return ; | ||
| 19 | +//} | ||
| 20 | + | ||
| 21 | +/* | ||
| 22 | +// Only override drawRect: if you perform custom drawing. | ||
| 23 | +// An empty implementation adversely affects performance during animation. | ||
| 24 | +- (void)drawRect:(CGRect)rect { | ||
| 25 | + // Drawing code | ||
| 26 | +} | ||
| 27 | +*/ | ||
| 28 | + | ||
| 29 | +@end |
LiveVideoCloud/LiveVideoCloud/Classes/Sections/InteractionSections/Gift/LVCGiftManager.m
| @@ -23,7 +23,7 @@ | @@ -23,7 +23,7 @@ | ||
| 23 | //数组中放CGRect数据,CGRect的x和y分别作为控制点的x和y,CGRect的width和height作为结束点的x和y | 23 | //数组中放CGRect数据,CGRect的x和y分别作为控制点的x和y,CGRect的width和height作为结束点的x和y |
| 24 | //方法如下:数组内的每个元素代码一个控制点和结束点 | 24 | //方法如下:数组内的每个元素代码一个控制点和结束点 |
| 25 | NSMutableArray *pointArrs = [[NSMutableArray alloc] init]; | 25 | NSMutableArray *pointArrs = [[NSMutableArray alloc] init]; |
| 26 | - CGFloat width = [UIScreen mainScreen].bounds.size.width / 2; | 26 | + CGFloat width = SCREEN_WIDTH / 2; |
| 27 | [pointArrs addObject:NSStringFromCGRect(CGRectMake(width, 300, width, 300))]; | 27 | [pointArrs addObject:NSStringFromCGRect(CGRectMake(width, 300, width, 300))]; |
| 28 | [pointArrs addObject:NSStringFromCGRect(CGRectMake(width, 300, width, 300))]; | 28 | [pointArrs addObject:NSStringFromCGRect(CGRectMake(width, 300, width, 300))]; |
| 29 | car.curveControlAndEndPoints = pointArrs; | 29 | car.curveControlAndEndPoints = pointArrs; |
| @@ -41,6 +41,10 @@ | @@ -41,6 +41,10 @@ | ||
| 41 | case GiftTypePlane: | 41 | case GiftTypePlane: |
| 42 | { | 42 | { |
| 43 | NHPlaneViews *plane = [NHPlaneViews loadPlaneViewWithPoint:CGPointMake(SCREEN_WIDTH + 232, 0)]; | 43 | NHPlaneViews *plane = [NHPlaneViews loadPlaneViewWithPoint:CGPointMake(SCREEN_WIDTH + 232, 0)]; |
| 44 | +// NSMutableArray *pointArrs = [[NSMutableArray alloc] init]; | ||
| 45 | +// [pointArrs addObject:NSStringFromCGRect(CGRectMake(290, 250, 290, 250))]; | ||
| 46 | +// [pointArrs addObject:NSStringFromCGRect(CGRectMake(290, 250, 290, 250))]; | ||
| 47 | +// plane.curveControlAndEndPoints = pointArrs; | ||
| 44 | [plane addAnimationsMoveToPoint:CGPointMake(SCREEN_WIDTH, 100) endPoint:CGPointMake(-500, 410)]; | 48 | [plane addAnimationsMoveToPoint:CGPointMake(SCREEN_WIDTH, 100) endPoint:CGPointMake(-500, 410)]; |
| 45 | [toView addSubview:plane]; | 49 | [toView addSubview:plane]; |
| 46 | } | 50 | } |
LiveVideoCloud/LiveVideoCloud/Classes/Sections/InteractionSections/LVCInteractionController.m
| @@ -7,10 +7,12 @@ | @@ -7,10 +7,12 @@ | ||
| 7 | // | 7 | // |
| 8 | 8 | ||
| 9 | #import "LVCInteractionController.h" | 9 | #import "LVCInteractionController.h" |
| 10 | -#import "LVCGiftManager.h" | 10 | +#import "LiveBaseView.h" |
| 11 | 11 | ||
| 12 | @interface LVCInteractionController () | 12 | @interface LVCInteractionController () |
| 13 | 13 | ||
| 14 | +@property (nonatomic ,strong) LiveBaseView * _Nullable liveBaseView; | ||
| 15 | + | ||
| 14 | @end | 16 | @end |
| 15 | 17 | ||
| 16 | @implementation LVCInteractionController | 18 | @implementation LVCInteractionController |
| @@ -18,12 +20,22 @@ | @@ -18,12 +20,22 @@ | ||
| 18 | - (void)viewDidLoad { | 20 | - (void)viewDidLoad { |
| 19 | [super viewDidLoad]; | 21 | [super viewDidLoad]; |
| 20 | // Do any additional setup after loading the view. | 22 | // Do any additional setup after loading the view. |
| 21 | - | 23 | + self.automaticallyAdjustsScrollViewInsets = NO; |
| 24 | +} | ||
| 25 | + | ||
| 26 | +- (void)bindView | ||
| 27 | +{ | ||
| 28 | + [self.view addSubview:self.liveBaseView]; | ||
| 22 | } | 29 | } |
| 23 | 30 | ||
| 24 | -- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event | 31 | +- (LiveBaseView *)liveBaseView |
| 25 | { | 32 | { |
| 26 | - [LVCGiftManager giftType:GiftTypeFighter toView:self.view]; | 33 | + if (!_liveBaseView) |
| 34 | + { | ||
| 35 | + _liveBaseView = [[LiveBaseView alloc] initWithFrame:SCREEN_RECT]; | ||
| 36 | + _liveBaseView.backgroundColor = [UIColor greenColor]; | ||
| 37 | + } | ||
| 38 | + return _liveBaseView; | ||
| 27 | } | 39 | } |
| 28 | 40 | ||
| 29 | - (void)didReceiveMemoryWarning { | 41 | - (void)didReceiveMemoryWarning { |
LiveVideoCloud/LiveVideoCloud/Classes/Sections/InteractionSections/LiveBaseView.h
0 → 100644
LiveVideoCloud/LiveVideoCloud/Classes/Sections/InteractionSections/LiveBaseView.m
0 → 100644
| 1 | + | ||
| 2 | +// | ||
| 3 | +// LiveBaseView.m | ||
| 4 | +// LiveVideoCloud | ||
| 5 | +// | ||
| 6 | +// Created by 张旭 on 2017/3/14. | ||
| 7 | +// Copyright © 2017年 cnlive. All rights reserved. | ||
| 8 | +// | ||
| 9 | + | ||
| 10 | +#import "LiveBaseView.h" | ||
| 11 | +#import "LVCGiftManager.h" | ||
| 12 | +#import "BottomToolView.h" | ||
| 13 | +#import "GiftListView.h" | ||
| 14 | + | ||
| 15 | +@interface LiveBaseView ()<bottomBtnDeledate> | ||
| 16 | + | ||
| 17 | +@property (nonatomic ,strong) UIScrollView * _Nullable scrollView; | ||
| 18 | +@property (nonatomic ,strong) BottomToolView* _Nullable bottomToolView; | ||
| 19 | +@property (nonatomic ,strong) UIButton * _Nullable closeBtn; | ||
| 20 | +@property (nonatomic ,strong) UIView * _Nullable currentPopView; | ||
| 21 | + | ||
| 22 | +@property (nonatomic ,strong) UIButton * _Nullable porschBtn; | ||
| 23 | +@property (nonatomic ,strong) UIButton * _Nullable fightBtn; | ||
| 24 | +@property (nonatomic ,strong) UIButton * _Nullable planeBtn; | ||
| 25 | + | ||
| 26 | +@end | ||
| 27 | + | ||
| 28 | +@implementation LiveBaseView | ||
| 29 | + | ||
| 30 | +- (instancetype)initWithFrame:(CGRect)frame | ||
| 31 | +{ | ||
| 32 | + if (self = [super initWithFrame:frame]) { | ||
| 33 | + | ||
| 34 | + [self addSubview:self.scrollView]; | ||
| 35 | + [self.scrollView addSubview:self.bottomToolView]; | ||
| 36 | + [self addSubview:self.closeBtn]; | ||
| 37 | + [self addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapGestureClick)]]; | ||
| 38 | + | ||
| 39 | +// [self addSubview:self.porschBtn]; | ||
| 40 | +// [self addSubview:self.fightBtn]; | ||
| 41 | +// [self addSubview:self.planeBtn]; | ||
| 42 | + } | ||
| 43 | + return self; | ||
| 44 | +} | ||
| 45 | + | ||
| 46 | +#pragma mark - bottomBtnDelegate | ||
| 47 | +- (void)bottomActionWithType:(BtnClickType)btnType | ||
| 48 | +{ | ||
| 49 | + [self hiddenView:YES]; | ||
| 50 | + switch (btnType) { | ||
| 51 | + case BtnClickTypeChat: | ||
| 52 | + { | ||
| 53 | + | ||
| 54 | + } | ||
| 55 | + break; | ||
| 56 | + case BtnClickTypePriChat: | ||
| 57 | + { | ||
| 58 | + | ||
| 59 | + } | ||
| 60 | + break; | ||
| 61 | + case BtnClickTypeGift: | ||
| 62 | + { | ||
| 63 | + GiftListView *giftListView = [[GiftListView alloc] initWithFrame:CGRectMake(0, SCREEN_HEIGHT - 200, SCREEN_WIDTH, 200)]; | ||
| 64 | + giftListView.backgroundColor = [UIColor redColor]; | ||
| 65 | + [self addSubview:giftListView]; | ||
| 66 | + self.currentPopView = giftListView; | ||
| 67 | + | ||
| 68 | + | ||
| 69 | + | ||
| 70 | + | ||
| 71 | + } | ||
| 72 | + break; | ||
| 73 | + default: | ||
| 74 | + break; | ||
| 75 | + } | ||
| 76 | +} | ||
| 77 | + | ||
| 78 | +- (void)hiddenView:(BOOL)isHidden | ||
| 79 | +{ | ||
| 80 | + self.bottomToolView.hidden = isHidden; | ||
| 81 | + self.closeBtn.hidden = isHidden; | ||
| 82 | +} | ||
| 83 | + | ||
| 84 | +- (void)clearCurrentPopView | ||
| 85 | +{ | ||
| 86 | + [UIView animateWithDuration:0.25 animations:^{ | ||
| 87 | + | ||
| 88 | + self.currentPopView.frame = CGRectMake(0, SCREEN_HEIGHT, SCREEN_WIDTH, SCREEN_HEIGHT); | ||
| 89 | + [self hiddenView:NO]; | ||
| 90 | + } completion:^(BOOL finished) { | ||
| 91 | + [self.currentPopView removeFromSuperview]; | ||
| 92 | + }]; | ||
| 93 | +} | ||
| 94 | + | ||
| 95 | +#pragma mark - buttonClick | ||
| 96 | +- (void)tapGestureClick | ||
| 97 | +{ | ||
| 98 | + [self clearCurrentPopView]; | ||
| 99 | +} | ||
| 100 | + | ||
| 101 | + | ||
| 102 | +- (void)porschAction | ||
| 103 | +{ | ||
| 104 | + [LVCGiftManager giftType:GiftTypePorsch toView:self]; | ||
| 105 | +} | ||
| 106 | + | ||
| 107 | +- (void)fightAction | ||
| 108 | +{ | ||
| 109 | + [LVCGiftManager giftType:GiftTypeFighter toView:self]; | ||
| 110 | +} | ||
| 111 | + | ||
| 112 | +- (void)planeAction | ||
| 113 | +{ | ||
| 114 | + [LVCGiftManager giftType:GiftTypePlane toView:self]; | ||
| 115 | +} | ||
| 116 | + | ||
| 117 | +- (void)closeAction | ||
| 118 | +{ | ||
| 119 | + | ||
| 120 | +} | ||
| 121 | + | ||
| 122 | +#pragma mark - getter | ||
| 123 | +- (UIScrollView *)scrollView | ||
| 124 | +{ | ||
| 125 | + if (!_scrollView) | ||
| 126 | + { | ||
| 127 | + _scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT)]; | ||
| 128 | + _scrollView.contentSize = CGSizeMake(SCREEN_WIDTH*2, SCREEN_HEIGHT); | ||
| 129 | + _scrollView.contentOffset = CGPointMake(SCREEN_WIDTH, 0); | ||
| 130 | + _scrollView.bounces = NO; | ||
| 131 | + _scrollView.pagingEnabled = YES; | ||
| 132 | + _scrollView.showsVerticalScrollIndicator = NO; | ||
| 133 | + _scrollView.showsHorizontalScrollIndicator = NO; | ||
| 134 | + _scrollView.backgroundColor = [UIColor clearColor]; | ||
| 135 | + } | ||
| 136 | + return _scrollView; | ||
| 137 | +} | ||
| 138 | + | ||
| 139 | +- (BottomToolView *)bottomToolView | ||
| 140 | +{ | ||
| 141 | + if (!_bottomToolView) | ||
| 142 | + { | ||
| 143 | + _bottomToolView = [[BottomToolView alloc] initWithFrame:CGRectMake(SCREEN_WIDTH, SCREEN_HEIGHT - 60, SCREEN_WIDTH, 60)]; | ||
| 144 | + _bottomToolView.delegate = self; | ||
| 145 | + _bottomToolView.backgroundColor = [UIColor lightGrayColor]; | ||
| 146 | + _bottomToolView.alpha = 0.7; | ||
| 147 | + } | ||
| 148 | + return _bottomToolView; | ||
| 149 | +} | ||
| 150 | + | ||
| 151 | +- (UIButton *)closeBtn | ||
| 152 | +{ | ||
| 153 | + if (!_closeBtn) | ||
| 154 | + { | ||
| 155 | + UIButton *closeBtn = [UIButton buttonWithType:UIButtonTypeCustom]; | ||
| 156 | + closeBtn.frame = CGRectMake(SCREEN_WIDTH - 43,SCREEN_HEIGHT - self.bottomToolView.height + (self.bottomToolView.height - 33)*0.5, 33, 33); | ||
| 157 | + [closeBtn setBackgroundImage:[UIImage imageNamed:@"LiveCloseNormal"] forState:UIControlStateNormal]; | ||
| 158 | + [closeBtn setBackgroundImage:[UIImage imageNamed:@"LiveCloseTouch"] forState:UIControlStateHighlighted]; | ||
| 159 | + [closeBtn addTarget:self action:@selector(closeAction) forControlEvents:UIControlEventTouchUpInside]; | ||
| 160 | + _closeBtn = closeBtn; | ||
| 161 | + } | ||
| 162 | + return _closeBtn; | ||
| 163 | +} | ||
| 164 | + | ||
| 165 | +- (UIButton *)porschBtn | ||
| 166 | +{ | ||
| 167 | + if (!_porschBtn) | ||
| 168 | + { | ||
| 169 | + UIButton *porschBtn = [UIButton buttonWithType:UIButtonTypeCustom]; | ||
| 170 | + porschBtn.frame = CGRectMake(SCREEN_WIDTH - 80, 400, 80, 30); | ||
| 171 | + [porschBtn setTitle:@"保时捷" forState:UIControlStateNormal]; | ||
| 172 | + [porschBtn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; | ||
| 173 | + [porschBtn addTarget:self action:@selector(porschAction) forControlEvents:UIControlEventTouchUpInside]; | ||
| 174 | + _porschBtn = porschBtn; | ||
| 175 | + } | ||
| 176 | + return _porschBtn; | ||
| 177 | +} | ||
| 178 | + | ||
| 179 | +- (UIButton *)fightBtn | ||
| 180 | +{ | ||
| 181 | + if (!_fightBtn) | ||
| 182 | + { | ||
| 183 | + UIButton *fightBtn = [UIButton buttonWithType:UIButtonTypeCustom]; | ||
| 184 | + fightBtn.frame = CGRectMake(SCREEN_WIDTH - 80, 450, 80, 30); | ||
| 185 | + [fightBtn setTitle:@"歼灭机" forState:UIControlStateNormal]; | ||
| 186 | + [fightBtn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; | ||
| 187 | + [fightBtn addTarget:self action:@selector(fightAction) forControlEvents:UIControlEventTouchUpInside]; | ||
| 188 | + _fightBtn = fightBtn; | ||
| 189 | + } | ||
| 190 | + return _fightBtn; | ||
| 191 | +} | ||
| 192 | + | ||
| 193 | +- (UIButton *)planeBtn | ||
| 194 | +{ | ||
| 195 | + if (!_planeBtn) | ||
| 196 | + { | ||
| 197 | + UIButton *planeBtn = [UIButton buttonWithType:UIButtonTypeCustom]; | ||
| 198 | + planeBtn.frame = CGRectMake(SCREEN_WIDTH - 80, 500, 80, 30); | ||
| 199 | + [planeBtn setTitle:@"客机" forState:UIControlStateNormal]; | ||
| 200 | + [planeBtn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; | ||
| 201 | + [planeBtn addTarget:self action:@selector(planeAction) forControlEvents:UIControlEventTouchUpInside]; | ||
| 202 | + _planeBtn = planeBtn; | ||
| 203 | + } | ||
| 204 | + return _planeBtn; | ||
| 205 | +} | ||
| 206 | + | ||
| 207 | +/* | ||
| 208 | +// Only override drawRect: if you perform custom drawing. | ||
| 209 | +// An empty implementation adversely affects performance during animation. | ||
| 210 | +- (void)drawRect:(CGRect)rect { | ||
| 211 | + // Drawing code | ||
| 212 | +} | ||
| 213 | +*/ | ||
| 214 | + | ||
| 215 | +@end |
LiveVideoCloud/LiveVideoCloud/UtilKits/DeviceInfo/ZXDeviceInfo.h
| @@ -17,6 +17,10 @@ | @@ -17,6 +17,10 @@ | ||
| 17 | #define SCREEN_HEIGHT [ZXDeviceInfo mainScreenHeight] | 17 | #define SCREEN_HEIGHT [ZXDeviceInfo mainScreenHeight] |
| 18 | #endif | 18 | #endif |
| 19 | 19 | ||
| 20 | +#ifndef SCREEN_RECT | ||
| 21 | +#define SCREEN_RECT CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT) | ||
| 22 | +#endif | ||
| 23 | + | ||
| 20 | @interface ZXDeviceInfo : NSObject | 24 | @interface ZXDeviceInfo : NSObject |
| 21 | 25 | ||
| 22 | /** | 26 | /** |
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/AppIcon.appiconset/Contents.json renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/AppIcon.appiconset/Contents.json
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/Contents.json renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/Contents.json
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/Interaction/Contents.json renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/Animation/Contents.json
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/Interaction/ic_menu_bluepig.imageset/Contents.json renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/Animation/ic_menu_bluepig.imageset/Contents.json
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/Interaction/ic_menu_bluepig.imageset/ic_menu_bluepig.png renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/Animation/ic_menu_bluepig.imageset/ic_menu_bluepig.png
26.1 KB
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/Interaction/ic_menu_bluepig2.imageset/Contents.json renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/Animation/ic_menu_bluepig2.imageset/Contents.json
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/Interaction/ic_menu_bluepig2.imageset/ic_menu_bluepig2.png renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/Animation/ic_menu_bluepig2.imageset/ic_menu_bluepig2.png
24.2 KB
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/Interaction/ic_menu_greenpig.imageset/Contents.json renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/Animation/ic_menu_greenpig.imageset/Contents.json
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/Interaction/ic_menu_greenpig.imageset/ic_menu_greenpig.png renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/Animation/ic_menu_greenpig.imageset/ic_menu_greenpig.png
26.9 KB
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/Interaction/ic_menu_greenpig2.imageset/Contents.json renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/Animation/ic_menu_greenpig2.imageset/Contents.json
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/Interaction/ic_menu_greenpig2.imageset/ic_menu_greenpig2.png renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/Animation/ic_menu_greenpig2.imageset/ic_menu_greenpig2.png
24.5 KB
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/Interaction/ic_menu_pinkpig.imageset/Contents.json renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/Animation/ic_menu_pinkpig.imageset/Contents.json
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/Interaction/ic_menu_pinkpig.imageset/ic_menu_pinkpig.png renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/Animation/ic_menu_pinkpig.imageset/ic_menu_pinkpig.png
24.3 KB
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/Interaction/ic_menu_pinkpig2.imageset/Contents.json renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/Animation/ic_menu_pinkpig2.imageset/Contents.json
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/Interaction/ic_menu_pinkpig2.imageset/ic_menu_pinkpig2.png renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/Animation/ic_menu_pinkpig2.imageset/ic_menu_pinkpig2.png
26.1 KB
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/Interaction/ic_menu_purplepig.imageset/Contents.json renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/Animation/ic_menu_purplepig.imageset/Contents.json
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/Interaction/ic_menu_purplepig.imageset/ic_menu_purplepig.png renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/Animation/ic_menu_purplepig.imageset/ic_menu_purplepig.png
26.3 KB
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/Interaction/ic_menu_purplepig2.imageset/Contents.json renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/Animation/ic_menu_purplepig2.imageset/Contents.json
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/Interaction/ic_menu_purplepig2.imageset/ic_menu_purplepig2.png renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/Animation/ic_menu_purplepig2.imageset/ic_menu_purplepig2.png
24.4 KB
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/Interaction/ic_menu_yellowpig.imageset/Contents.json renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/Animation/ic_menu_yellowpig.imageset/Contents.json
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/Interaction/ic_menu_yellowpig.imageset/ic_menu_yellowpig.png renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/Animation/ic_menu_yellowpig.imageset/ic_menu_yellowpig.png
26.2 KB
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/Interaction/ic_menu_yellowpig2.imageset/Contents.json renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/Animation/ic_menu_yellowpig2.imageset/Contents.json
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/Interaction/ic_menu_yellowpig2.imageset/ic_menu_yellowpig2.png renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/Animation/ic_menu_yellowpig2.imageset/ic_menu_yellowpig2.png
24.4 KB
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/Interaction/love.imageset/Contents.json renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/Animation/love.imageset/Contents.json
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/Interaction/love.imageset/love@2x.png renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/Animation/love.imageset/love@2x.png
1.9 KB
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/Interaction/love.imageset/love@3x.png renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/Animation/love.imageset/love@3x.png
2.99 KB
LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/Click on the comment.imageset/Click on the comment.png
0 → 100644
5.72 KB
LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/Click on the comment.imageset/Contents.json
0 → 100644
| 1 | +{ | ||
| 2 | + "images" : [ | ||
| 3 | + { | ||
| 4 | + "idiom" : "universal", | ||
| 5 | + "scale" : "1x" | ||
| 6 | + }, | ||
| 7 | + { | ||
| 8 | + "idiom" : "universal", | ||
| 9 | + "scale" : "2x" | ||
| 10 | + }, | ||
| 11 | + { | ||
| 12 | + "idiom" : "universal", | ||
| 13 | + "scale" : "3x" | ||
| 14 | + }, | ||
| 15 | + { | ||
| 16 | + "idiom" : "iphone", | ||
| 17 | + "scale" : "1x" | ||
| 18 | + }, | ||
| 19 | + { | ||
| 20 | + "idiom" : "iphone", | ||
| 21 | + "scale" : "2x" | ||
| 22 | + }, | ||
| 23 | + { | ||
| 24 | + "idiom" : "iphone", | ||
| 25 | + "filename" : "Click on the comment.png", | ||
| 26 | + "scale" : "3x" | ||
| 27 | + } | ||
| 28 | + ], | ||
| 29 | + "info" : { | ||
| 30 | + "version" : 1, | ||
| 31 | + "author" : "xcode" | ||
| 32 | + } | ||
| 33 | +} | ||
| 0 | \ No newline at end of file | 34 | \ No newline at end of file |
LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/Close the open.imageset/Close the open.png
0 → 100644
1.59 KB
LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/Close the open.imageset/Contents.json
0 → 100644
| 1 | +{ | ||
| 2 | + "images" : [ | ||
| 3 | + { | ||
| 4 | + "idiom" : "universal", | ||
| 5 | + "scale" : "1x" | ||
| 6 | + }, | ||
| 7 | + { | ||
| 8 | + "idiom" : "universal", | ||
| 9 | + "scale" : "2x" | ||
| 10 | + }, | ||
| 11 | + { | ||
| 12 | + "idiom" : "universal", | ||
| 13 | + "filename" : "Close the open.png", | ||
| 14 | + "scale" : "3x" | ||
| 15 | + } | ||
| 16 | + ], | ||
| 17 | + "info" : { | ||
| 18 | + "version" : 1, | ||
| 19 | + "author" : "xcode" | ||
| 20 | + } | ||
| 21 | +} | ||
| 0 | \ No newline at end of file | 22 | \ No newline at end of file |
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/tabBar/Contents.json renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/Contents.json
LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/LiveChatGiftNormal.imageset/Contents.json
0 → 100644
| 1 | +{ | ||
| 2 | + "images" : [ | ||
| 3 | + { | ||
| 4 | + "idiom" : "universal", | ||
| 5 | + "scale" : "1x" | ||
| 6 | + }, | ||
| 7 | + { | ||
| 8 | + "idiom" : "universal", | ||
| 9 | + "scale" : "2x" | ||
| 10 | + }, | ||
| 11 | + { | ||
| 12 | + "idiom" : "universal", | ||
| 13 | + "scale" : "3x" | ||
| 14 | + }, | ||
| 15 | + { | ||
| 16 | + "idiom" : "iphone", | ||
| 17 | + "scale" : "1x" | ||
| 18 | + }, | ||
| 19 | + { | ||
| 20 | + "idiom" : "iphone", | ||
| 21 | + "scale" : "2x" | ||
| 22 | + }, | ||
| 23 | + { | ||
| 24 | + "idiom" : "iphone", | ||
| 25 | + "filename" : "LiveChatGiftNormal.png", | ||
| 26 | + "scale" : "3x" | ||
| 27 | + } | ||
| 28 | + ], | ||
| 29 | + "info" : { | ||
| 30 | + "version" : 1, | ||
| 31 | + "author" : "xcode" | ||
| 32 | + } | ||
| 33 | +} | ||
| 0 | \ No newline at end of file | 34 | \ No newline at end of file |
LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/LiveChatGiftNormal.imageset/LiveChatGiftNormal.png
0 → 100644
5.07 KB
LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/LiveChatGiftTouch.imageset/Contents.json
0 → 100644
| 1 | +{ | ||
| 2 | + "images" : [ | ||
| 3 | + { | ||
| 4 | + "idiom" : "universal", | ||
| 5 | + "scale" : "1x" | ||
| 6 | + }, | ||
| 7 | + { | ||
| 8 | + "idiom" : "universal", | ||
| 9 | + "scale" : "2x" | ||
| 10 | + }, | ||
| 11 | + { | ||
| 12 | + "idiom" : "universal", | ||
| 13 | + "scale" : "3x" | ||
| 14 | + }, | ||
| 15 | + { | ||
| 16 | + "idiom" : "iphone", | ||
| 17 | + "scale" : "1x" | ||
| 18 | + }, | ||
| 19 | + { | ||
| 20 | + "idiom" : "iphone", | ||
| 21 | + "scale" : "2x" | ||
| 22 | + }, | ||
| 23 | + { | ||
| 24 | + "idiom" : "iphone", | ||
| 25 | + "filename" : "LiveChatGiftTouch.png", | ||
| 26 | + "scale" : "3x" | ||
| 27 | + } | ||
| 28 | + ], | ||
| 29 | + "info" : { | ||
| 30 | + "version" : 1, | ||
| 31 | + "author" : "xcode" | ||
| 32 | + } | ||
| 33 | +} | ||
| 0 | \ No newline at end of file | 34 | \ No newline at end of file |
LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/LiveChatGiftTouch.imageset/LiveChatGiftTouch.png
0 → 100644
5.23 KB
LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/LiveChatNormal.imageset/Contents.json
0 → 100644
| 1 | +{ | ||
| 2 | + "images" : [ | ||
| 3 | + { | ||
| 4 | + "idiom" : "universal", | ||
| 5 | + "scale" : "1x" | ||
| 6 | + }, | ||
| 7 | + { | ||
| 8 | + "idiom" : "universal", | ||
| 9 | + "scale" : "2x" | ||
| 10 | + }, | ||
| 11 | + { | ||
| 12 | + "idiom" : "universal", | ||
| 13 | + "scale" : "3x" | ||
| 14 | + }, | ||
| 15 | + { | ||
| 16 | + "idiom" : "iphone", | ||
| 17 | + "scale" : "1x" | ||
| 18 | + }, | ||
| 19 | + { | ||
| 20 | + "idiom" : "iphone", | ||
| 21 | + "scale" : "2x" | ||
| 22 | + }, | ||
| 23 | + { | ||
| 24 | + "idiom" : "iphone", | ||
| 25 | + "filename" : "LiveChatNormal.png", | ||
| 26 | + "scale" : "3x" | ||
| 27 | + } | ||
| 28 | + ], | ||
| 29 | + "info" : { | ||
| 30 | + "version" : 1, | ||
| 31 | + "author" : "xcode" | ||
| 32 | + } | ||
| 33 | +} | ||
| 0 | \ No newline at end of file | 34 | \ No newline at end of file |
LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/LiveChatNormal.imageset/LiveChatNormal.png
0 → 100644
6.08 KB
LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/LiveChatTouch.imageset/Contents.json
0 → 100644
| 1 | +{ | ||
| 2 | + "images" : [ | ||
| 3 | + { | ||
| 4 | + "idiom" : "universal", | ||
| 5 | + "scale" : "1x" | ||
| 6 | + }, | ||
| 7 | + { | ||
| 8 | + "idiom" : "universal", | ||
| 9 | + "scale" : "2x" | ||
| 10 | + }, | ||
| 11 | + { | ||
| 12 | + "idiom" : "universal", | ||
| 13 | + "scale" : "3x" | ||
| 14 | + }, | ||
| 15 | + { | ||
| 16 | + "idiom" : "iphone", | ||
| 17 | + "scale" : "1x" | ||
| 18 | + }, | ||
| 19 | + { | ||
| 20 | + "idiom" : "iphone", | ||
| 21 | + "scale" : "2x" | ||
| 22 | + }, | ||
| 23 | + { | ||
| 24 | + "idiom" : "iphone", | ||
| 25 | + "filename" : "LiveChatTouch.png", | ||
| 26 | + "scale" : "3x" | ||
| 27 | + } | ||
| 28 | + ], | ||
| 29 | + "info" : { | ||
| 30 | + "version" : 1, | ||
| 31 | + "author" : "xcode" | ||
| 32 | + } | ||
| 33 | +} | ||
| 0 | \ No newline at end of file | 34 | \ No newline at end of file |
LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/LiveChatTouch.imageset/LiveChatTouch.png
0 → 100644
6.19 KB
LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/LiveCloseNormal.imageset/Contents.json
0 → 100644
| 1 | +{ | ||
| 2 | + "images" : [ | ||
| 3 | + { | ||
| 4 | + "idiom" : "universal", | ||
| 5 | + "scale" : "1x" | ||
| 6 | + }, | ||
| 7 | + { | ||
| 8 | + "idiom" : "universal", | ||
| 9 | + "scale" : "2x" | ||
| 10 | + }, | ||
| 11 | + { | ||
| 12 | + "idiom" : "universal", | ||
| 13 | + "scale" : "3x" | ||
| 14 | + }, | ||
| 15 | + { | ||
| 16 | + "idiom" : "iphone", | ||
| 17 | + "scale" : "1x" | ||
| 18 | + }, | ||
| 19 | + { | ||
| 20 | + "idiom" : "iphone", | ||
| 21 | + "scale" : "2x" | ||
| 22 | + }, | ||
| 23 | + { | ||
| 24 | + "idiom" : "iphone", | ||
| 25 | + "filename" : "LiveCloseNormal.png", | ||
| 26 | + "scale" : "3x" | ||
| 27 | + } | ||
| 28 | + ], | ||
| 29 | + "info" : { | ||
| 30 | + "version" : 1, | ||
| 31 | + "author" : "xcode" | ||
| 32 | + } | ||
| 33 | +} | ||
| 0 | \ No newline at end of file | 34 | \ No newline at end of file |
LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/LiveCloseNormal.imageset/LiveCloseNormal.png
0 → 100644
5.67 KB
LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/LiveCloseTouch.imageset/Contents.json
0 → 100644
| 1 | +{ | ||
| 2 | + "images" : [ | ||
| 3 | + { | ||
| 4 | + "idiom" : "universal", | ||
| 5 | + "scale" : "1x" | ||
| 6 | + }, | ||
| 7 | + { | ||
| 8 | + "idiom" : "universal", | ||
| 9 | + "scale" : "2x" | ||
| 10 | + }, | ||
| 11 | + { | ||
| 12 | + "idiom" : "universal", | ||
| 13 | + "scale" : "3x" | ||
| 14 | + }, | ||
| 15 | + { | ||
| 16 | + "idiom" : "iphone", | ||
| 17 | + "scale" : "1x" | ||
| 18 | + }, | ||
| 19 | + { | ||
| 20 | + "idiom" : "iphone", | ||
| 21 | + "scale" : "2x" | ||
| 22 | + }, | ||
| 23 | + { | ||
| 24 | + "idiom" : "iphone", | ||
| 25 | + "filename" : "LiveCloseTouch.png", | ||
| 26 | + "scale" : "3x" | ||
| 27 | + } | ||
| 28 | + ], | ||
| 29 | + "info" : { | ||
| 30 | + "version" : 1, | ||
| 31 | + "author" : "xcode" | ||
| 32 | + } | ||
| 33 | +} | ||
| 0 | \ No newline at end of file | 34 | \ No newline at end of file |
LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/LiveCloseTouch.imageset/LiveCloseTouch.png
0 → 100644
5.62 KB
LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/comments.imageset/Contents.json
0 → 100644
| 1 | +{ | ||
| 2 | + "images" : [ | ||
| 3 | + { | ||
| 4 | + "idiom" : "universal", | ||
| 5 | + "scale" : "1x" | ||
| 6 | + }, | ||
| 7 | + { | ||
| 8 | + "idiom" : "universal", | ||
| 9 | + "scale" : "2x" | ||
| 10 | + }, | ||
| 11 | + { | ||
| 12 | + "idiom" : "universal", | ||
| 13 | + "scale" : "3x" | ||
| 14 | + }, | ||
| 15 | + { | ||
| 16 | + "idiom" : "iphone", | ||
| 17 | + "scale" : "1x" | ||
| 18 | + }, | ||
| 19 | + { | ||
| 20 | + "idiom" : "iphone", | ||
| 21 | + "scale" : "2x" | ||
| 22 | + }, | ||
| 23 | + { | ||
| 24 | + "idiom" : "iphone", | ||
| 25 | + "filename" : "comments.png", | ||
| 26 | + "scale" : "3x" | ||
| 27 | + } | ||
| 28 | + ], | ||
| 29 | + "info" : { | ||
| 30 | + "version" : 1, | ||
| 31 | + "author" : "xcode" | ||
| 32 | + } | ||
| 33 | +} | ||
| 0 | \ No newline at end of file | 34 | \ No newline at end of file |
LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/comments.imageset/comments.png
0 → 100644
5.88 KB
LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/private chat.imageset/1 2.png
0 → 100644
7.63 KB
LiveVideoCloud/LiveVideoCloud/animation.xcassets/Interaction/private chat.imageset/Contents.json
0 → 100644
| 1 | +{ | ||
| 2 | + "images" : [ | ||
| 3 | + { | ||
| 4 | + "idiom" : "universal", | ||
| 5 | + "filename" : "1 2.png", | ||
| 6 | + "scale" : "1x" | ||
| 7 | + }, | ||
| 8 | + { | ||
| 9 | + "idiom" : "universal", | ||
| 10 | + "scale" : "2x" | ||
| 11 | + }, | ||
| 12 | + { | ||
| 13 | + "idiom" : "universal", | ||
| 14 | + "scale" : "3x" | ||
| 15 | + } | ||
| 16 | + ], | ||
| 17 | + "info" : { | ||
| 18 | + "version" : 1, | ||
| 19 | + "author" : "xcode" | ||
| 20 | + } | ||
| 21 | +} | ||
| 0 | \ No newline at end of file | 22 | \ No newline at end of file |
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/bottom_shadow.imageset/Contents.json renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/bottom_shadow.imageset/Contents.json
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/bottom_shadow.imageset/bottom_shadow.png renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/bottom_shadow.imageset/bottom_shadow.png
1.12 KB
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/dot.imageset/Contents.json renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/dot.imageset/Contents.json
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/dot.imageset/dot@3x.png renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/dot.imageset/dot@3x.png
335 Bytes
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/fullscreen.imageset/Contents.json renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/fullscreen.imageset/Contents.json
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/fullscreen.imageset/fullscreen@3x.png renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/fullscreen.imageset/fullscreen@3x.png
1.18 KB
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/nonfullscreen.imageset/Contents.json renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/nonfullscreen.imageset/Contents.json
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/nonfullscreen.imageset/nonfullscreen@3x.png renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/nonfullscreen.imageset/nonfullscreen@3x.png
1.19 KB
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/pause.imageset/Contents.json renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/pause.imageset/Contents.json
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/pause.imageset/pause@3x.png renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/pause.imageset/pause@3x.png
188 Bytes
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/play.imageset/Contents.json renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/play.imageset/Contents.json
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/play.imageset/play@3x.png renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/play.imageset/play@3x.png
660 Bytes
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/play_back.imageset/Contents.json renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/play_back.imageset/Contents.json
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/play_back.imageset/play_back.png renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/play_back.imageset/play_back.png
1.47 KB
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/tabBar/Begin to live.imageset/Begin to live.png renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/tabBar/Begin to live.imageset/Begin to live.png
11.6 KB
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/tabBar/Begin to live.imageset/Contents.json renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/tabBar/Begin to live.imageset/Contents.json
LiveVideoCloud/LiveVideoCloud/animation.xcassets/tabBar/Contents.json
0 → 100644
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/tabBar/home page-click on.imageset/Contents.json renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/tabBar/home page-click on.imageset/Contents.json
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/tabBar/home page-click on.imageset/home page-click on.png renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/tabBar/home page-click on.imageset/home page-click on.png
2.93 KB
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/tabBar/home page.imageset/Contents.json renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/tabBar/home page.imageset/Contents.json
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/tabBar/home page.imageset/home page.png renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/tabBar/home page.imageset/home page.png
2.68 KB
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/tabBar/my-click on.imageset/Contents.json renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/tabBar/my-click on.imageset/Contents.json
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/tabBar/my-click on.imageset/my-click on.png renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/tabBar/my-click on.imageset/my-click on.png
3.01 KB
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/tabBar/my.imageset/Contents.json renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/tabBar/my.imageset/Contents.json
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/tabBar/my.imageset/my.png renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/tabBar/my.imageset/my.png
2.89 KB
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/top_shadow.imageset/Contents.json renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/top_shadow.imageset/Contents.json
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/top_shadow.imageset/top_shadow.png renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/top_shadow.imageset/top_shadow.png
2.95 KB
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/返回.imageset/Contents.json renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/返回.imageset/Contents.json
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/返回.imageset/返回@3x.png renamed to LiveVideoCloud/LiveVideoCloud/animation.xcassets/返回.imageset/返回@3x.png
1.35 KB