Steven преди 2 години
родител
ревизия
bcc28c3445
променени са 76 файла, в които са добавени 793 реда и са изтрити 131 реда
  1. 316 4
      KulexiuForStudent/KulexiuForStudent.xcodeproj/project.pbxproj
  2. BIN
      KulexiuForStudent/KulexiuForStudent.xcworkspace/xcuserdata/wangzhi.xcuserdatad/UserInterfaceState.xcuserstate
  3. 67 35
      KulexiuForStudent/KulexiuForStudent.xcworkspace/xcuserdata/wangzhi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
  4. 32 26
      KulexiuForStudent/KulexiuForStudent/AppDelegate.m
  5. 29 1
      KulexiuForStudent/KulexiuForStudent/Common/Base/KSTabBarViewController.m
  6. 22 0
      KulexiuForStudent/KulexiuForStudent/Common/Base/TabbarAnimation/AnimationHelper.h
  7. 37 0
      KulexiuForStudent/KulexiuForStudent/Common/Base/TabbarAnimation/AnimationHelper.m
  8. 0 0
      KulexiuForStudent/KulexiuForStudent/Common/Base/TabbarAnimation/tabbar1.json
  9. 0 0
      KulexiuForStudent/KulexiuForStudent/Common/Base/TabbarAnimation/tabbar2.json
  10. 0 0
      KulexiuForStudent/KulexiuForStudent/Common/Base/TabbarAnimation/tabbar3.json
  11. 0 0
      KulexiuForStudent/KulexiuForStudent/Common/Base/TabbarAnimation/tabbar4.json
  12. 0 0
      KulexiuForStudent/KulexiuForStudent/Common/Base/TabbarAnimation/tabbar5.json
  13. 97 38
      KulexiuForStudent/KulexiuForStudent/Common/Tools/GifRefresh/KSGifRefreshFooter.m
  14. 92 24
      KulexiuForStudent/KulexiuForStudent/Common/Tools/GifRefresh/KSGifRefreshHeader.m
  15. 0 0
      KulexiuForStudent/KulexiuForStudent/Common/Tools/GifRefresh/teacher_refresh.json
  16. 1 1
      KulexiuForStudent/KulexiuForStudent/KulexiuForStudent.entitlements
  17. 20 0
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Controller/LaunchAnimationViewController.h
  18. 78 0
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Controller/LaunchAnimationViewController.m
  19. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_0.png
  20. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_1.png
  21. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_10.png
  22. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_11.png
  23. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_12.png
  24. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_13.png
  25. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_14.png
  26. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_15.png
  27. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_16.png
  28. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_17.png
  29. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_18.png
  30. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_19.png
  31. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_2.png
  32. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_20.png
  33. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_21.png
  34. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_22.png
  35. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_23.png
  36. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_24.png
  37. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_25.png
  38. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_26.png
  39. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_27.png
  40. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_28.png
  41. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_29.png
  42. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_3.png
  43. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_30.png
  44. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_31.png
  45. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_32.png
  46. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_33.png
  47. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_34.png
  48. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_35.png
  49. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_36.png
  50. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_37.png
  51. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_38.png
  52. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_39.png
  53. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_4.png
  54. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_40.png
  55. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_41.png
  56. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_42.png
  57. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_43.png
  58. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_44.png
  59. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_45.png
  60. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_46.png
  61. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_47.png
  62. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_48.png
  63. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_49.png
  64. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_5.png
  65. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_50.png
  66. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_51.png
  67. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_52.png
  68. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_53.png
  69. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_54.png
  70. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_55.png
  71. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_6.png
  72. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_7.png
  73. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_8.png
  74. BIN
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_9.png
  75. 0 0
      KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/launchAni.json
  76. 2 2
      KulexiuForStudent/KulexiuForStudent/Module/Home/NoticeCenter/View/NotiferMessageCell.xib

+ 316 - 4
KulexiuForStudent/KulexiuForStudent.xcodeproj/project.pbxproj

@@ -492,6 +492,71 @@
 		BC71D1042881A2420010F14B /* libSocialQQ.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BC71D0EE2881A2420010F14B /* libSocialQQ.a */; };
 		BC71D1052881A2420010F14B /* TencentOpenApi_IOS_Bundle.bundle in Resources */ = {isa = PBXBuildFile; fileRef = BC71D0F02881A2420010F14B /* TencentOpenApi_IOS_Bundle.bundle */; };
 		BC71D1062881A2420010F14B /* TencentOpenAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BC71D0F12881A2420010F14B /* TencentOpenAPI.framework */; };
+		BC71D12F2887A4DC0010F14B /* teacher_refresh.json in Resources */ = {isa = PBXBuildFile; fileRef = BC71D12E2887A4DC0010F14B /* teacher_refresh.json */; };
+		BC71D13A2887CEB70010F14B /* LaunchAnimationViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BC71D1392887CEB70010F14B /* LaunchAnimationViewController.m */; };
+		BC71D15D2887F9DB0010F14B /* launchAni.json in Resources */ = {isa = PBXBuildFile; fileRef = BC71D13B2887F9DA0010F14B /* launchAni.json */; };
+		BC71D244288804CD0010F14B /* img_10.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D20C288804CC0010F14B /* img_10.png */; };
+		BC71D245288804CD0010F14B /* img_38.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D20D288804CC0010F14B /* img_38.png */; };
+		BC71D246288804CD0010F14B /* img_1.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D20E288804CC0010F14B /* img_1.png */; };
+		BC71D247288804CD0010F14B /* img_0.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D20F288804CC0010F14B /* img_0.png */; };
+		BC71D248288804CD0010F14B /* img_39.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D210288804CC0010F14B /* img_39.png */; };
+		BC71D249288804CD0010F14B /* img_11.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D211288804CC0010F14B /* img_11.png */; };
+		BC71D24A288804CD0010F14B /* img_13.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D212288804CC0010F14B /* img_13.png */; };
+		BC71D24B288804CD0010F14B /* img_2.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D213288804CC0010F14B /* img_2.png */; };
+		BC71D24C288804CD0010F14B /* img_3.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D214288804CC0010F14B /* img_3.png */; };
+		BC71D24D288804CD0010F14B /* img_12.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D215288804CC0010F14B /* img_12.png */; };
+		BC71D24E288804CD0010F14B /* img_16.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D216288804CC0010F14B /* img_16.png */; };
+		BC71D24F288804CD0010F14B /* img_7.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D217288804CC0010F14B /* img_7.png */; };
+		BC71D250288804CD0010F14B /* img_6.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D218288804CC0010F14B /* img_6.png */; };
+		BC71D251288804CD0010F14B /* img_17.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D219288804CC0010F14B /* img_17.png */; };
+		BC71D252288804CD0010F14B /* img_29.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D21A288804CD0010F14B /* img_29.png */; };
+		BC71D253288804CD0010F14B /* img_15.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D21B288804CD0010F14B /* img_15.png */; };
+		BC71D254288804CD0010F14B /* img_4.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D21C288804CD0010F14B /* img_4.png */; };
+		BC71D255288804CD0010F14B /* img_5.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D21D288804CD0010F14B /* img_5.png */; };
+		BC71D256288804CD0010F14B /* img_14.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D21E288804CD0010F14B /* img_14.png */; };
+		BC71D257288804CD0010F14B /* img_28.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D21F288804CD0010F14B /* img_28.png */; };
+		BC71D258288804CD0010F14B /* img_49.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D220288804CD0010F14B /* img_49.png */; };
+		BC71D259288804CD0010F14B /* img_48.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D221288804CD0010F14B /* img_48.png */; };
+		BC71D25A288804CD0010F14B /* img_46.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D222288804CD0010F14B /* img_46.png */; };
+		BC71D25B288804CD0010F14B /* img_52.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D223288804CD0010F14B /* img_52.png */; };
+		BC71D25C288804CD0010F14B /* img_53.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D224288804CD0010F14B /* img_53.png */; };
+		BC71D25D288804CD0010F14B /* img_47.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D225288804CD0010F14B /* img_47.png */; };
+		BC71D25E288804CD0010F14B /* img_51.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D226288804CD0010F14B /* img_51.png */; };
+		BC71D25F288804CD0010F14B /* img_45.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D227288804CD0010F14B /* img_45.png */; };
+		BC71D260288804CD0010F14B /* img_44.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D228288804CD0010F14B /* img_44.png */; };
+		BC71D261288804CD0010F14B /* img_50.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D229288804CD0010F14B /* img_50.png */; };
+		BC71D262288804CD0010F14B /* img_54.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D22A288804CD0010F14B /* img_54.png */; };
+		BC71D263288804CD0010F14B /* img_40.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D22B288804CD0010F14B /* img_40.png */; };
+		BC71D264288804CD0010F14B /* img_41.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D22C288804CD0010F14B /* img_41.png */; };
+		BC71D265288804CD0010F14B /* img_55.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D22D288804CD0010F14B /* img_55.png */; };
+		BC71D266288804CD0010F14B /* img_43.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D22E288804CD0010F14B /* img_43.png */; };
+		BC71D267288804CD0010F14B /* img_42.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D22F288804CD0010F14B /* img_42.png */; };
+		BC71D268288804CD0010F14B /* img_25.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D230288804CD0010F14B /* img_25.png */; };
+		BC71D269288804CD0010F14B /* img_31.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D231288804CD0010F14B /* img_31.png */; };
+		BC71D26A288804CD0010F14B /* img_19.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D232288804CD0010F14B /* img_19.png */; };
+		BC71D26B288804CD0010F14B /* img_8.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D233288804CD0010F14B /* img_8.png */; };
+		BC71D26C288804CD0010F14B /* img_9.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D234288804CD0010F14B /* img_9.png */; };
+		BC71D26D288804CD0010F14B /* img_18.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D235288804CD0010F14B /* img_18.png */; };
+		BC71D26E288804CD0010F14B /* img_30.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D236288804CD0010F14B /* img_30.png */; };
+		BC71D26F288804CD0010F14B /* img_24.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D237288804CD0010F14B /* img_24.png */; };
+		BC71D270288804CD0010F14B /* img_32.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D238288804CD0010F14B /* img_32.png */; };
+		BC71D271288804CD0010F14B /* img_26.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D239288804CD0010F14B /* img_26.png */; };
+		BC71D272288804CD0010F14B /* img_27.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D23A288804CD0010F14B /* img_27.png */; };
+		BC71D273288804CD0010F14B /* img_33.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D23B288804CD0010F14B /* img_33.png */; };
+		BC71D274288804CD0010F14B /* img_37.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D23C288804CD0010F14B /* img_37.png */; };
+		BC71D275288804CD0010F14B /* img_23.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D23D288804CD0010F14B /* img_23.png */; };
+		BC71D276288804CD0010F14B /* img_22.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D23E288804CD0010F14B /* img_22.png */; };
+		BC71D277288804CD0010F14B /* img_36.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D23F288804CD0010F14B /* img_36.png */; };
+		BC71D278288804CD0010F14B /* img_20.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D240288804CD0010F14B /* img_20.png */; };
+		BC71D279288804CD0010F14B /* img_34.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D241288804CD0010F14B /* img_34.png */; };
+		BC71D27A288804CD0010F14B /* img_35.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D242288804CD0010F14B /* img_35.png */; };
+		BC71D27B288804CD0010F14B /* img_21.png in Resources */ = {isa = PBXBuildFile; fileRef = BC71D243288804CD0010F14B /* img_21.png */; };
+		BC71D27F288807680010F14B /* AnimationHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = BC71D27E288807680010F14B /* AnimationHelper.m */; };
+		BC71D2852888083B0010F14B /* tabbar4.json in Resources */ = {isa = PBXBuildFile; fileRef = BC71D2802888083A0010F14B /* tabbar4.json */; };
+		BC71D2862888083B0010F14B /* tabbar1.json in Resources */ = {isa = PBXBuildFile; fileRef = BC71D2812888083B0010F14B /* tabbar1.json */; };
+		BC71D2872888083B0010F14B /* tabbar3.json in Resources */ = {isa = PBXBuildFile; fileRef = BC71D2822888083B0010F14B /* tabbar3.json */; };
+		BC71D2882888083B0010F14B /* tabbar2.json in Resources */ = {isa = PBXBuildFile; fileRef = BC71D2832888083B0010F14B /* tabbar2.json */; };
+		BC71D2892888083B0010F14B /* tabbar5.json in Resources */ = {isa = PBXBuildFile; fileRef = BC71D2842888083B0010F14B /* tabbar5.json */; };
 		BC736A92288036E8004A9B0A /* MyVideoSearchView.m in Sources */ = {isa = PBXBuildFile; fileRef = BC736A90288036E8004A9B0A /* MyVideoSearchView.m */; };
 		BC736A93288036E8004A9B0A /* MyVideoSearchView.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC736A91288036E8004A9B0A /* MyVideoSearchView.xib */; };
 		BC76630E2827E48800C91A1D /* NotiferMessageModel.m in Sources */ = {isa = PBXBuildFile; fileRef = BC76630C2827E48800C91A1D /* NotiferMessageModel.m */; };
@@ -1645,6 +1710,73 @@
 		BC71D0EE2881A2420010F14B /* libSocialQQ.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libSocialQQ.a; sourceTree = "<group>"; };
 		BC71D0F02881A2420010F14B /* TencentOpenApi_IOS_Bundle.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = TencentOpenApi_IOS_Bundle.bundle; sourceTree = "<group>"; };
 		BC71D0F12881A2420010F14B /* TencentOpenAPI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = TencentOpenAPI.framework; sourceTree = "<group>"; };
+		BC71D12E2887A4DC0010F14B /* teacher_refresh.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = teacher_refresh.json; sourceTree = "<group>"; };
+		BC71D1382887CEB70010F14B /* LaunchAnimationViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LaunchAnimationViewController.h; sourceTree = "<group>"; };
+		BC71D1392887CEB70010F14B /* LaunchAnimationViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LaunchAnimationViewController.m; sourceTree = "<group>"; };
+		BC71D13B2887F9DA0010F14B /* launchAni.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = launchAni.json; sourceTree = "<group>"; };
+		BC71D20C288804CC0010F14B /* img_10.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_10.png; sourceTree = "<group>"; };
+		BC71D20D288804CC0010F14B /* img_38.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_38.png; sourceTree = "<group>"; };
+		BC71D20E288804CC0010F14B /* img_1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_1.png; sourceTree = "<group>"; };
+		BC71D20F288804CC0010F14B /* img_0.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_0.png; sourceTree = "<group>"; };
+		BC71D210288804CC0010F14B /* img_39.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_39.png; sourceTree = "<group>"; };
+		BC71D211288804CC0010F14B /* img_11.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_11.png; sourceTree = "<group>"; };
+		BC71D212288804CC0010F14B /* img_13.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_13.png; sourceTree = "<group>"; };
+		BC71D213288804CC0010F14B /* img_2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_2.png; sourceTree = "<group>"; };
+		BC71D214288804CC0010F14B /* img_3.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_3.png; sourceTree = "<group>"; };
+		BC71D215288804CC0010F14B /* img_12.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_12.png; sourceTree = "<group>"; };
+		BC71D216288804CC0010F14B /* img_16.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_16.png; sourceTree = "<group>"; };
+		BC71D217288804CC0010F14B /* img_7.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_7.png; sourceTree = "<group>"; };
+		BC71D218288804CC0010F14B /* img_6.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_6.png; sourceTree = "<group>"; };
+		BC71D219288804CC0010F14B /* img_17.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_17.png; sourceTree = "<group>"; };
+		BC71D21A288804CD0010F14B /* img_29.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_29.png; sourceTree = "<group>"; };
+		BC71D21B288804CD0010F14B /* img_15.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_15.png; sourceTree = "<group>"; };
+		BC71D21C288804CD0010F14B /* img_4.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_4.png; sourceTree = "<group>"; };
+		BC71D21D288804CD0010F14B /* img_5.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_5.png; sourceTree = "<group>"; };
+		BC71D21E288804CD0010F14B /* img_14.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_14.png; sourceTree = "<group>"; };
+		BC71D21F288804CD0010F14B /* img_28.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_28.png; sourceTree = "<group>"; };
+		BC71D220288804CD0010F14B /* img_49.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_49.png; sourceTree = "<group>"; };
+		BC71D221288804CD0010F14B /* img_48.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_48.png; sourceTree = "<group>"; };
+		BC71D222288804CD0010F14B /* img_46.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_46.png; sourceTree = "<group>"; };
+		BC71D223288804CD0010F14B /* img_52.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_52.png; sourceTree = "<group>"; };
+		BC71D224288804CD0010F14B /* img_53.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_53.png; sourceTree = "<group>"; };
+		BC71D225288804CD0010F14B /* img_47.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_47.png; sourceTree = "<group>"; };
+		BC71D226288804CD0010F14B /* img_51.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_51.png; sourceTree = "<group>"; };
+		BC71D227288804CD0010F14B /* img_45.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_45.png; sourceTree = "<group>"; };
+		BC71D228288804CD0010F14B /* img_44.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_44.png; sourceTree = "<group>"; };
+		BC71D229288804CD0010F14B /* img_50.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_50.png; sourceTree = "<group>"; };
+		BC71D22A288804CD0010F14B /* img_54.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_54.png; sourceTree = "<group>"; };
+		BC71D22B288804CD0010F14B /* img_40.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_40.png; sourceTree = "<group>"; };
+		BC71D22C288804CD0010F14B /* img_41.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_41.png; sourceTree = "<group>"; };
+		BC71D22D288804CD0010F14B /* img_55.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_55.png; sourceTree = "<group>"; };
+		BC71D22E288804CD0010F14B /* img_43.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_43.png; sourceTree = "<group>"; };
+		BC71D22F288804CD0010F14B /* img_42.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_42.png; sourceTree = "<group>"; };
+		BC71D230288804CD0010F14B /* img_25.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_25.png; sourceTree = "<group>"; };
+		BC71D231288804CD0010F14B /* img_31.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_31.png; sourceTree = "<group>"; };
+		BC71D232288804CD0010F14B /* img_19.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_19.png; sourceTree = "<group>"; };
+		BC71D233288804CD0010F14B /* img_8.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_8.png; sourceTree = "<group>"; };
+		BC71D234288804CD0010F14B /* img_9.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_9.png; sourceTree = "<group>"; };
+		BC71D235288804CD0010F14B /* img_18.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_18.png; sourceTree = "<group>"; };
+		BC71D236288804CD0010F14B /* img_30.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_30.png; sourceTree = "<group>"; };
+		BC71D237288804CD0010F14B /* img_24.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_24.png; sourceTree = "<group>"; };
+		BC71D238288804CD0010F14B /* img_32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_32.png; sourceTree = "<group>"; };
+		BC71D239288804CD0010F14B /* img_26.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_26.png; sourceTree = "<group>"; };
+		BC71D23A288804CD0010F14B /* img_27.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_27.png; sourceTree = "<group>"; };
+		BC71D23B288804CD0010F14B /* img_33.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_33.png; sourceTree = "<group>"; };
+		BC71D23C288804CD0010F14B /* img_37.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_37.png; sourceTree = "<group>"; };
+		BC71D23D288804CD0010F14B /* img_23.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_23.png; sourceTree = "<group>"; };
+		BC71D23E288804CD0010F14B /* img_22.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_22.png; sourceTree = "<group>"; };
+		BC71D23F288804CD0010F14B /* img_36.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_36.png; sourceTree = "<group>"; };
+		BC71D240288804CD0010F14B /* img_20.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_20.png; sourceTree = "<group>"; };
+		BC71D241288804CD0010F14B /* img_34.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_34.png; sourceTree = "<group>"; };
+		BC71D242288804CD0010F14B /* img_35.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_35.png; sourceTree = "<group>"; };
+		BC71D243288804CD0010F14B /* img_21.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = img_21.png; sourceTree = "<group>"; };
+		BC71D27D288807680010F14B /* AnimationHelper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AnimationHelper.h; sourceTree = "<group>"; };
+		BC71D27E288807680010F14B /* AnimationHelper.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AnimationHelper.m; sourceTree = "<group>"; };
+		BC71D2802888083A0010F14B /* tabbar4.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = tabbar4.json; sourceTree = "<group>"; };
+		BC71D2812888083B0010F14B /* tabbar1.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = tabbar1.json; sourceTree = "<group>"; };
+		BC71D2822888083B0010F14B /* tabbar3.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = tabbar3.json; sourceTree = "<group>"; };
+		BC71D2832888083B0010F14B /* tabbar2.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = tabbar2.json; sourceTree = "<group>"; };
+		BC71D2842888083B0010F14B /* tabbar5.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = tabbar5.json; sourceTree = "<group>"; };
 		BC736A8F288036E8004A9B0A /* MyVideoSearchView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MyVideoSearchView.h; sourceTree = "<group>"; };
 		BC736A90288036E8004A9B0A /* MyVideoSearchView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MyVideoSearchView.m; sourceTree = "<group>"; };
 		BC736A91288036E8004A9B0A /* MyVideoSearchView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MyVideoSearchView.xib; sourceTree = "<group>"; };
@@ -2387,6 +2519,7 @@
 		275FA1F027E7356A00CFEA2E /* Module */ = {
 			isa = PBXGroup;
 			children = (
+				BC71D1342887CD470010F14B /* AnimationLaunch */,
 				BC8A4545283DC33400094BBB /* CloudEngine */,
 				BCB6357327F6D2AB00ACFDCF /* Classroom */,
 				BCB6348727F6D2A200ACFDCF /* SealClass */,
@@ -3020,10 +3153,11 @@
 		277933DE27E3249E0010E277 /* GifRefresh */ = {
 			isa = PBXGroup;
 			children = (
-				277933DF27E3249E0010E277 /* KSGifRefreshHeader.m */,
-				277933E027E3249E0010E277 /* KSGifRefreshFooter.m */,
 				277933E127E3249E0010E277 /* KSGifRefreshFooter.h */,
+				277933E027E3249E0010E277 /* KSGifRefreshFooter.m */,
 				277933E227E3249E0010E277 /* KSGifRefreshHeader.h */,
+				277933DF27E3249E0010E277 /* KSGifRefreshHeader.m */,
+				BC71D12E2887A4DC0010F14B /* teacher_refresh.json */,
 			);
 			path = GifRefresh;
 			sourceTree = "<group>";
@@ -3491,6 +3625,7 @@
 		2779350B27E324A40010E277 /* Base */ = {
 			isa = PBXGroup;
 			children = (
+				BC71D27C288807400010F14B /* TabbarAnimation */,
 				BC60E3D0287D592800B05441 /* KSPublicAlertView.h */,
 				BC60E3D1287D592800B05441 /* KSPublicAlertView.m */,
 				BC60E3CF287D592800B05441 /* KSPublicAlertView.xib */,
@@ -4180,6 +4315,118 @@
 			path = UMSocialSDKPlugin;
 			sourceTree = "<group>";
 		};
+		BC71D1342887CD470010F14B /* AnimationLaunch */ = {
+			isa = PBXGroup;
+			children = (
+				BC71D1362887CE970010F14B /* Controller */,
+				BC71D1372887CE970010F14B /* Model */,
+				BC71D1352887CE970010F14B /* View */,
+			);
+			path = AnimationLaunch;
+			sourceTree = "<group>";
+		};
+		BC71D1352887CE970010F14B /* View */ = {
+			isa = PBXGroup;
+			children = (
+			);
+			path = View;
+			sourceTree = "<group>";
+		};
+		BC71D1362887CE970010F14B /* Controller */ = {
+			isa = PBXGroup;
+			children = (
+				BC71D1382887CEB70010F14B /* LaunchAnimationViewController.h */,
+				BC71D1392887CEB70010F14B /* LaunchAnimationViewController.m */,
+			);
+			path = Controller;
+			sourceTree = "<group>";
+		};
+		BC71D1372887CE970010F14B /* Model */ = {
+			isa = PBXGroup;
+			children = (
+				BC71D13B2887F9DA0010F14B /* launchAni.json */,
+				BC71D20B288804CC0010F14B /* images */,
+			);
+			path = Model;
+			sourceTree = "<group>";
+		};
+		BC71D20B288804CC0010F14B /* images */ = {
+			isa = PBXGroup;
+			children = (
+				BC71D20F288804CC0010F14B /* img_0.png */,
+				BC71D20E288804CC0010F14B /* img_1.png */,
+				BC71D213288804CC0010F14B /* img_2.png */,
+				BC71D214288804CC0010F14B /* img_3.png */,
+				BC71D21C288804CD0010F14B /* img_4.png */,
+				BC71D21D288804CD0010F14B /* img_5.png */,
+				BC71D218288804CC0010F14B /* img_6.png */,
+				BC71D217288804CC0010F14B /* img_7.png */,
+				BC71D233288804CD0010F14B /* img_8.png */,
+				BC71D234288804CD0010F14B /* img_9.png */,
+				BC71D20C288804CC0010F14B /* img_10.png */,
+				BC71D211288804CC0010F14B /* img_11.png */,
+				BC71D215288804CC0010F14B /* img_12.png */,
+				BC71D212288804CC0010F14B /* img_13.png */,
+				BC71D21E288804CD0010F14B /* img_14.png */,
+				BC71D21B288804CD0010F14B /* img_15.png */,
+				BC71D216288804CC0010F14B /* img_16.png */,
+				BC71D219288804CC0010F14B /* img_17.png */,
+				BC71D235288804CD0010F14B /* img_18.png */,
+				BC71D232288804CD0010F14B /* img_19.png */,
+				BC71D240288804CD0010F14B /* img_20.png */,
+				BC71D243288804CD0010F14B /* img_21.png */,
+				BC71D23E288804CD0010F14B /* img_22.png */,
+				BC71D23D288804CD0010F14B /* img_23.png */,
+				BC71D237288804CD0010F14B /* img_24.png */,
+				BC71D230288804CD0010F14B /* img_25.png */,
+				BC71D239288804CD0010F14B /* img_26.png */,
+				BC71D23A288804CD0010F14B /* img_27.png */,
+				BC71D21F288804CD0010F14B /* img_28.png */,
+				BC71D21A288804CD0010F14B /* img_29.png */,
+				BC71D236288804CD0010F14B /* img_30.png */,
+				BC71D231288804CD0010F14B /* img_31.png */,
+				BC71D238288804CD0010F14B /* img_32.png */,
+				BC71D23B288804CD0010F14B /* img_33.png */,
+				BC71D241288804CD0010F14B /* img_34.png */,
+				BC71D242288804CD0010F14B /* img_35.png */,
+				BC71D23F288804CD0010F14B /* img_36.png */,
+				BC71D23C288804CD0010F14B /* img_37.png */,
+				BC71D20D288804CC0010F14B /* img_38.png */,
+				BC71D210288804CC0010F14B /* img_39.png */,
+				BC71D22B288804CD0010F14B /* img_40.png */,
+				BC71D22C288804CD0010F14B /* img_41.png */,
+				BC71D22F288804CD0010F14B /* img_42.png */,
+				BC71D22E288804CD0010F14B /* img_43.png */,
+				BC71D228288804CD0010F14B /* img_44.png */,
+				BC71D227288804CD0010F14B /* img_45.png */,
+				BC71D222288804CD0010F14B /* img_46.png */,
+				BC71D225288804CD0010F14B /* img_47.png */,
+				BC71D221288804CD0010F14B /* img_48.png */,
+				BC71D220288804CD0010F14B /* img_49.png */,
+				BC71D229288804CD0010F14B /* img_50.png */,
+				BC71D226288804CD0010F14B /* img_51.png */,
+				BC71D223288804CD0010F14B /* img_52.png */,
+				BC71D224288804CD0010F14B /* img_53.png */,
+				BC71D22A288804CD0010F14B /* img_54.png */,
+				BC71D22D288804CD0010F14B /* img_55.png */,
+			);
+			path = images;
+			sourceTree = "<group>";
+		};
+		BC71D27C288807400010F14B /* TabbarAnimation */ = {
+			isa = PBXGroup;
+			children = (
+				BC71D27D288807680010F14B /* AnimationHelper.h */,
+				BC71D27E288807680010F14B /* AnimationHelper.m */,
+				BC71D2812888083B0010F14B /* tabbar1.json */,
+				BC71D2832888083B0010F14B /* tabbar2.json */,
+				BC71D2822888083B0010F14B /* tabbar3.json */,
+				BC71D2802888083A0010F14B /* tabbar4.json */,
+				BC71D2842888083B0010F14B /* tabbar5.json */,
+			);
+			path = TabbarAnimation;
+			sourceTree = "<group>";
+		};
 		BC8A4545283DC33400094BBB /* CloudEngine */ = {
 			isa = PBXGroup;
 			children = (
@@ -5217,41 +5464,59 @@
 			buildActionMask = 2147483647;
 			files = (
 				BC71D1052881A2420010F14B /* TencentOpenApi_IOS_Bundle.bundle in Resources */,
+				BC71D15D2887F9DB0010F14B /* launchAni.json in Resources */,
 				275E8AB827E18F8B00DD3F6E /* LaunchScreen.storyboard in Resources */,
 				275FA1EF27E7351900CFEA2E /* KSUpdateAlert.xib in Resources */,
 				277935AF27E324A90010E277 /* mss_browseLoading@3x.png in Resources */,
 				BC60E3CE287D552800B05441 /* DeleteAccountBodyView.xib in Resources */,
 				BC71D0FF2881A2420010F14B /* README.txt in Resources */,
 				BCB6359927F6D2AB00ACFDCF /* tick.wav in Resources */,
+				BC71D2852888083B0010F14B /* tabbar4.json in Resources */,
 				2779355727E324A70010E277 /* KSPremissionAlert.xib in Resources */,
 				2723B5C327F157B100E0B90B /* ChatNavView.xib in Resources */,
 				BCFE53F22812898700AD6786 /* HomeVideoCourseCell.xib in Resources */,
+				BC71D263288804CD0010F14B /* img_40.png in Resources */,
+				BC71D26E288804CD0010F14B /* img_30.png in Resources */,
+				BC71D24F288804CD0010F14B /* img_7.png in Resources */,
 				2723B5BA27F157B100E0B90B /* ChatAddressHeaderView.xib in Resources */,
 				BC8C2C7F28265D8E00FBA5D5 /* KSNewsAlert.xib in Resources */,
 				BC494A7D286958EC00CCD343 /* MusicRoomCourseInfoCell.xib in Resources */,
 				BC119235280ED97C00A716F7 /* CourseForLiveCell.xib in Resources */,
 				2723B62E27F157D500E0B90B /* GroupApplyChooseAllCell.xib in Resources */,
+				BC71D245288804CD0010F14B /* img_38.png in Resources */,
+				BC71D276288804CD0010F14B /* img_22.png in Resources */,
+				BC71D25C288804CD0010F14B /* img_53.png in Resources */,
+				BC71D246288804CD0010F14B /* img_1.png in Resources */,
 				275FA23A27E7356B00CFEA2E /* VefiBodyView.xib in Resources */,
 				BC119258280FA85300A716F7 /* HomeworkListCell.xib in Resources */,
 				BC542E5728409EC900633781 /* InstrumentChooseBottonView.xib in Resources */,
 				2723B63227F157D500E0B90B /* GroupSettingBodyView.xib in Resources */,
+				BC71D272288804CD0010F14B /* img_27.png in Resources */,
 				BCFE53F728128A9600AD6786 /* TeacherShowCell.xib in Resources */,
 				2723B5BF27F157B100E0B90B /* GroupCreateView.xib in Resources */,
 				BC8C2C5E2823F57100FBA5D5 /* AddressDetailBodyView.xib in Resources */,
 				BCB9090D2852EEBE00F5FF69 /* LiveCard.bundle in Resources */,
+				BC71D24A288804CD0010F14B /* img_13.png in Resources */,
 				2723B63727F157D500E0B90B /* ApplyBottomView.xib in Resources */,
+				BC71D253288804CD0010F14B /* img_15.png in Resources */,
 				BC542E5928409EC900633781 /* InstrumentChooseCell.xib in Resources */,
 				2723B62F27F157D500E0B90B /* ChatComplainBodyView.xib in Resources */,
+				BC71D254288804CD0010F14B /* img_4.png in Resources */,
 				2723B62127F157D500E0B90B /* NoticeEditBodyView.xib in Resources */,
 				BC5367C9283F6D72008428E8 /* HomeVideoCourseView.xib in Resources */,
+				BC71D25F288804CD0010F14B /* img_45.png in Resources */,
 				2723B66127F15CFB00E0B90B /* SettingBodyView.xib in Resources */,
 				BC11928C280FB44300A716F7 /* HomeworkVideoView.xib in Resources */,
 				BCD457A2286313D70010B493 /* NotiferNavView.xib in Resources */,
 				275E8AB527E18F8B00DD3F6E /* Assets.xcassets in Resources */,
+				BC71D252288804CD0010F14B /* img_29.png in Resources */,
+				BC71D24D288804CD0010F14B /* img_12.png in Resources */,
 				BC119275280FB01100A716F7 /* AccompanyHomeworkCell.xib in Resources */,
 				BC71D1022881A2420010F14B /* WeiboSDK.bundle in Resources */,
+				BC71D2872888083B0010F14B /* tabbar3.json in Resources */,
 				BC119280280FB10900A716F7 /* AccompanyRemarkCell.xib in Resources */,
 				BC8A45B6283DC33400094BBB /* NoWiredTipsAlert.xib in Resources */,
+				BC71D271288804CD0010F14B /* img_26.png in Resources */,
 				2723B63527F157D500E0B90B /* GroupApplyChooseCell.xib in Resources */,
 				2723B5C227F157B100E0B90B /* GroupListViewCell.xib in Resources */,
 				BCBFDF432811573D0052AFE5 /* HomeButtonView.xib in Resources */,
@@ -5262,94 +5527,139 @@
 				2723B66227F15CFC00E0B90B /* FeedbackBodyView.xib in Resources */,
 				BC5367C4283F6D58008428E8 /* HomeLiveCourseView.xib in Resources */,
 				BCB908F32850B08D00F5FF69 /* ShareLiveCellContentView.xib in Resources */,
+				BC71D266288804CD0010F14B /* img_43.png in Resources */,
+				BC71D257288804CD0010F14B /* img_28.png in Resources */,
+				BC71D279288804CD0010F14B /* img_34.png in Resources */,
+				BC71D24C288804CD0010F14B /* img_3.png in Resources */,
 				2723B66527F15CFC00E0B90B /* ModifyBodyView.xib in Resources */,
 				BCB6353027F6D2A300ACFDCF /* SealClass.strings in Resources */,
+				BC71D26A288804CD0010F14B /* img_19.png in Resources */,
 				BCB635AE27F6E06500ACFDCF /* LiveRoomHeadView.xib in Resources */,
 				275FA1AD27E734C600CFEA2E /* KSImageAlert.xib in Resources */,
+				BC71D251288804CD0010F14B /* img_17.png in Resources */,
+				BC71D268288804CD0010F14B /* img_25.png in Resources */,
+				BC71D264288804CD0010F14B /* img_41.png in Resources */,
+				BC71D267288804CD0010F14B /* img_42.png in Resources */,
+				BC71D27A288804CD0010F14B /* img_35.png in Resources */,
+				BC71D25A288804CD0010F14B /* img_46.png in Resources */,
 				BCBFDF5228115DA40052AFE5 /* HomeIntroduceView.xib in Resources */,
+				BC71D277288804CD0010F14B /* img_36.png in Resources */,
+				BC71D250288804CD0010F14B /* img_6.png in Resources */,
 				BC8A45AF283DC33400094BBB /* SoundCheckView.xib in Resources */,
 				BC119270280FAF7D00A716F7 /* AccompanyCourseInfoCell.xib in Resources */,
 				BC8C2C5B2823F57100FBA5D5 /* AddressBottomView.xib in Resources */,
+				BC71D261288804CD0010F14B /* img_50.png in Resources */,
+				BC71D25B288804CD0010F14B /* img_52.png in Resources */,
 				BC40BA202812552300DEC0D1 /* KSHomeButton.xib in Resources */,
 				BC7663162827E49900C91A1D /* NotiferHeadView.xib in Resources */,
 				BCB908F22850B08D00F5FF69 /* ShareMusicCellContentView.xib in Resources */,
 				2723B5C427F157B100E0B90B /* KSChatListSearchView.xib in Resources */,
 				BC8A459A283DC33400094BBB /* SubjectFinger.plist in Resources */,
+				BC71D275288804CD0010F14B /* img_23.png in Resources */,
 				BC71D0F82881A2420010F14B /* iOS集成升级必读.pdf in Resources */,
 				2779359B27E324A80010E277 /* TZImagePickerController.bundle in Resources */,
 				277935C327E324A90010E277 /* SDQWMaskCustomView.xib in Resources */,
 				BC40B9FA2811768400DEC0D1 /* HotInformationHeadView.xib in Resources */,
 				BC27A06E280FF56C00F91E27 /* AccompanyEvaluateCell.xib in Resources */,
+				BC71D27B288804CD0010F14B /* img_21.png in Resources */,
 				2723B66327F15CFC00E0B90B /* ModifyNameBodyView.xib in Resources */,
+				BC71D255288804CD0010F14B /* img_5.png in Resources */,
 				BCB635B327F6E1A600ACFDCF /* LiveRoomBottomView.xib in Resources */,
 				BCB6348327F6D29600ACFDCF /* LiveSeatApplyView.xib in Resources */,
 				BC8C2C612823F57100FBA5D5 /* MyAddressListCell.xib in Resources */,
 				2723B66A27F15CFC00E0B90B /* PhoneChangeBodyView.xib in Resources */,
+				BC71D278288804CD0010F14B /* img_20.png in Resources */,
+				BC71D247288804CD0010F14B /* img_0.png in Resources */,
 				27F9032D27E87C2E00C08A19 /* KSNetworkAlert.xib in Resources */,
+				BC71D260288804CD0010F14B /* img_44.png in Resources */,
+				BC71D26C288804CD0010F14B /* img_9.png in Resources */,
 				BC736A93288036E8004A9B0A /* MyVideoSearchView.xib in Resources */,
 				BCFE53ED2812897600AD6786 /* HomeLiveCouseCell.xib in Resources */,
+				BC71D256288804CD0010F14B /* img_14.png in Resources */,
 				275FA24527E73E0100CFEA2E /* InstrumentDescView.xib in Resources */,
 				BC11922D280ED8E800A716F7 /* CourseNavView.xib in Resources */,
+				BC71D12F2887A4DC0010F14B /* teacher_refresh.json in Resources */,
 				BC11929D280FD2EF00A716F7 /* HomeworkBottomView.xib in Resources */,
 				BC7663182827E49900C91A1D /* NotiferMessageCell.xib in Resources */,
+				BC71D26D288804CD0010F14B /* img_18.png in Resources */,
 				BCB6348127F6D29600ACFDCF /* LiveSeatApplyCell.xib in Resources */,
 				BC8A45A4283DC33400094BBB /* KSCloudSettingView.xib in Resources */,
 				2723B62D27F157D500E0B90B /* GroupApplyMemberCell.xib in Resources */,
 				BCB6347427F6D29600ACFDCF /* BaseEmoji.plist in Resources */,
 				BCB9091928530EA500F5FF69 /* KSShopCardView.xib in Resources */,
 				BC40BA252812560100DEC0D1 /* HomeCourseTipsView.xib in Resources */,
+				BC71D270288804CD0010F14B /* img_32.png in Resources */,
 				27F9032E27E87C2E00C08A19 /* DeviceCheckView.xib in Resources */,
 				275FA23727E7356B00CFEA2E /* LoginBodyView.xib in Resources */,
+				BC71D273288804CD0010F14B /* img_33.png in Resources */,
+				BC71D259288804CD0010F14B /* img_48.png in Resources */,
 				BCB6355927F6D2A300ACFDCF /* class_stop.mp3 in Resources */,
+				BC71D274288804CD0010F14B /* img_37.png in Resources */,
 				BCFE53E82812765600AD6786 /* HomeHotAlbumCell.xib in Resources */,
 				BC40BA0428117B0A00DEC0D1 /* HomeBannerCell.xib in Resources */,
 				BC119239280ED98E00A716F7 /* AccompanyCourseCell.xib in Resources */,
 				BC27A076280FF61300F91E27 /* AccompanyDetailBottomView.xib in Resources */,
 				BCBFDF4D28115C7A0052AFE5 /* HomeHotCourseView.xib in Resources */,
+				BC71D2892888083B0010F14B /* tabbar5.json in Resources */,
 				BC8A45B4283DC33400094BBB /* EvaluateResultAlert.xib in Resources */,
 				BCBFDF3928110C6F0052AFE5 /* HomeNavView.xib in Resources */,
 				27F9033C27E87FE100C08A19 /* MineBodyView.xib in Resources */,
 				BCB9FA2C286D79A4005D766B /* ScanNavView.xib in Resources */,
 				27F9032B27E87C2E00C08A19 /* NetworkBodyView.xib in Resources */,
 				2779358F27E324A80010E277 /* WMPlayer.bundle in Resources */,
+				BC71D248288804CD0010F14B /* img_39.png in Resources */,
 				BC11926C280FAF5900A716F7 /* AccompanyAlertView.xib in Resources */,
 				2723B66F27F15CFC00E0B90B /* AboutUsBodyView.xib in Resources */,
 				275FA23827E7356B00CFEA2E /* FirstSettingBodyView.xib in Resources */,
 				BC542E622840A60E00633781 /* UseBodyView.xib in Resources */,
 				BCD457AC286469600010B493 /* PublicNoticeView.xib in Resources */,
+				BC71D249288804CD0010F14B /* img_11.png in Resources */,
 				BC27A070280FF56C00F91E27 /* AccompanyStudentEvaCell.xib in Resources */,
 				2723B63927F157D500E0B90B /* GroupMemberListCell.xib in Resources */,
 				BC8A45A0283DC33400094BBB /* JudgePageView.xib in Resources */,
+				BC71D244288804CD0010F14B /* img_10.png in Resources */,
 				BC0212F827FC4A080040569F /* SubjectImageCell.xib in Resources */,
 				BC11921B280ED6A900A716F7 /* NewClassPopCell.xib in Resources */,
+				BC71D265288804CD0010F14B /* img_55.png in Resources */,
 				BC71D0FA2881A2420010F14B /* UMSocialSDKResources.bundle in Resources */,
 				BC60E3D2287D592800B05441 /* KSPublicAlertView.xib in Resources */,
+				BC71D269288804CD0010F14B /* img_31.png in Resources */,
+				BC71D25D288804CD0010F14B /* img_47.png in Resources */,
 				BCA353F12859BB2900377661 /* MusicRoomCourseCell.xib in Resources */,
 				2723B66E27F15CFC00E0B90B /* PhoneCheckBodyView.xib in Resources */,
 				BC119217280ED6A900A716F7 /* MyLessonSearchView.xib in Resources */,
 				BCBFDF3E2811564C0052AFE5 /* HomeBannerView.xib in Resources */,
 				BC8A459F283DC33400094BBB /* SettingPageView.xib in Resources */,
+				BC71D262288804CD0010F14B /* img_54.png in Resources */,
 				BC8C2C5A2823F57100FBA5D5 /* areainfo.json in Resources */,
 				2723B5C527F157B100E0B90B /* ContractListCell.xib in Resources */,
 				BCBFDF48281159A40052AFE5 /* HomeHotAlbumView.xib in Resources */,
+				BC71D24E288804CD0010F14B /* img_16.png in Resources */,
 				27F9033727E87C8B00C08A19 /* MineNavView.xib in Resources */,
 				BC8A45AB283DC33400094BBB /* TrackChooseView.xib in Resources */,
 				BCB9FA47286EDCD7005D766B /* KSTipsAlert.xib in Resources */,
 				BC542E40284079E300633781 /* UserAuthBodyView.xib in Resources */,
 				BC542E5528409EC900633781 /* InstrumentHeaderView.xib in Resources */,
 				BC119215280ED6A900A716F7 /* MyLiveCourseCell.xib in Resources */,
+				BC71D2862888083B0010F14B /* tabbar1.json in Resources */,
 				BCB9FA37286D7C38005D766B /* GuideListView.xib in Resources */,
+				BC71D2882888083B0010F14B /* tabbar2.json in Resources */,
 				BC50171727FC0D8E00F8BCBC /* SubjectChooseBodyView.xib in Resources */,
+				BC71D26F288804CD0010F14B /* img_24.png in Resources */,
+				BC71D26B288804CD0010F14B /* img_8.png in Resources */,
 				BC71D0F42881A2420010F14B /* UMCommonLog.bundle in Resources */,
 				BCB6359D27F6D2AB00ACFDCF /* tock.wav in Resources */,
 				BC8A45C1283DDD7100094BBB /* synthgms.sf2 in Resources */,
+				BC71D24B288804CD0010F14B /* img_2.png in Resources */,
 				BC0D1F72281015B000C5D9E5 /* VideoCourseCell.xib in Resources */,
 				BC8A45B1283DC33400094BBB /* CloudHelpView.xib in Resources */,
+				BC71D25E288804CD0010F14B /* img_51.png in Resources */,
 				BC11927B280FB07F00A716F7 /* AccompanyArrangeCell.xib in Resources */,
 				BC40B9FF281177BD00DEC0D1 /* HomeInformationCell.xib in Resources */,
 				BC8A45B3283DC33400094BBB /* CloudFeedbackView.xib in Resources */,
 				275E8AB327E18F8800DD3F6E /* Main.storyboard in Resources */,
 				BC8A45A8283DC33400094BBB /* KSCloudBeatView.xib in Resources */,
+				BC71D258288804CD0010F14B /* img_49.png in Resources */,
 				277935B127E324A90010E277 /* mss_browseLoading@2x.png in Resources */,
 				BC11922C280ED8E800A716F7 /* LTSCalendarBottomView.xib in Resources */,
 			);
@@ -5709,6 +6019,7 @@
 				275FA23527E7356B00CFEA2E /* UserInfoManager.m in Sources */,
 				2779353327E324A60010E277 /* UIScreen+Extend.m in Sources */,
 				BC8A45AE283DC33400094BBB /* SoundCheckView.m in Sources */,
+				BC71D13A2887CEB70010F14B /* LaunchAnimationViewController.m in Sources */,
 				2723B67E27F15D3D00E0B90B /* ModifyPhoneCheckController.m in Sources */,
 				2779353A27E324A60010E277 /* UILabel+QWTopLeftLabel.m in Sources */,
 				BC542E5D2840A60100633781 /* UserSettingViewController.m in Sources */,
@@ -5731,6 +6042,7 @@
 				277935B427E324A90010E277 /* FSCalendarDelegationProxy.m in Sources */,
 				2723B5BB27F157B100E0B90B /* ChatAddressBodyView.m in Sources */,
 				2779357427E324A70010E277 /* StoreButton.m in Sources */,
+				BC71D27F288807680010F14B /* AnimationHelper.m in Sources */,
 				277935A927E324A80010E277 /* MSSBrowseActionSheet.m in Sources */,
 				275FA1E027E7351900CFEA2E /* RecordCheckManager.m in Sources */,
 				2779355627E324A70010E277 /* KSPremissionAlert.m in Sources */,
@@ -6264,7 +6576,7 @@
 				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
 				CODE_SIGN_ENTITLEMENTS = KulexiuForStudent/KulexiuForStudent.entitlements;
 				CODE_SIGN_STYLE = Automatic;
-				CURRENT_PROJECT_VERSION = 1.0.1;
+				CURRENT_PROJECT_VERSION = 1.0.2;
 				DEVELOPMENT_TEAM = B2AP53HHTU;
 				ENABLE_BITCODE = NO;
 				FRAMEWORK_SEARCH_PATHS = (
@@ -6335,7 +6647,7 @@
 				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
 				CODE_SIGN_ENTITLEMENTS = KulexiuForStudent/KulexiuForStudent.entitlements;
 				CODE_SIGN_STYLE = Automatic;
-				CURRENT_PROJECT_VERSION = 1.0.1;
+				CURRENT_PROJECT_VERSION = 1.0.2;
 				DEVELOPMENT_TEAM = B2AP53HHTU;
 				ENABLE_BITCODE = NO;
 				FRAMEWORK_SEARCH_PATHS = (

BIN
KulexiuForStudent/KulexiuForStudent.xcworkspace/xcuserdata/wangzhi.xcuserdatad/UserInterfaceState.xcuserstate


+ 67 - 35
KulexiuForStudent/KulexiuForStudent.xcworkspace/xcuserdata/wangzhi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -206,8 +206,8 @@
             filePath = "KulexiuForStudent/AppDelegate.m"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "555"
-            endingLineNumber = "555"
+            startingLineNumber = "562"
+            endingLineNumber = "562"
             landmarkName = "-jpushNotificationCenter:didReceiveNotificationResponse:withCompletionHandler:"
             landmarkType = "7">
          </BreakpointContent>
@@ -222,8 +222,8 @@
             filePath = "KulexiuForStudent/AppDelegate.m"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "549"
-            endingLineNumber = "549"
+            startingLineNumber = "556"
+            endingLineNumber = "556"
             landmarkName = "-jpushNotificationCenter:didReceiveNotificationResponse:withCompletionHandler:"
             landmarkType = "7">
          </BreakpointContent>
@@ -247,22 +247,6 @@
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent
-            uuid = "8127A14D-7A8A-4142-BEA3-FC833D7EE276"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "KulexiuForStudent/Module/Home/NoticeCenter/Controller/NotiferMessageViewController.m"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "124"
-            endingLineNumber = "124"
-            landmarkName = "-queryUnReadCount"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
             uuid = "3BAFB131-CACD-42DC-87F3-C994446BB9F0"
             shouldBeEnabled = "Yes"
             ignoreCount = "0"
@@ -311,48 +295,96 @@
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent
-            uuid = "A0FF4D42-39A3-40A2-A7C8-7C5A39385054"
-            shouldBeEnabled = "Yes"
+            uuid = "8508D01A-7C3D-41C4-93F0-1BC2E55E168C"
+            shouldBeEnabled = "No"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "KulexiuForStudent/Common/Tools/UMShare/KSUMShareManager.m"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "142"
+            endingLineNumber = "142"
+            landmarkName = "-openShareView"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "87C3E9BB-9148-4DFB-B910-E4C4D6FE36DD"
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "KulexiuForStudent/AppDelegate.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "199"
+            endingLineNumber = "199"
+            landmarkName = "-configUM"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "F54016B4-70D8-4DD3-8942-BBE4466F239A"
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "KulexiuForStudent/Common/Tools/GifRefresh/KSGifRefreshHeader.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "77"
+            endingLineNumber = "77"
+            landmarkName = "-setState:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "9812269E-7772-40C8-9A99-1A1CECF48691"
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "KulexiuForStudent/Common/Tools/GifRefresh/KSGifRefreshHeader.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
             startingLineNumber = "101"
             endingLineNumber = "101"
-            landmarkName = "-openShareView"
+            landmarkName = "-scrollViewContentOffsetDidChange:"
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent
-            uuid = "E67B4877-8C84-4A53-94CA-DD07CE6CC30D"
-            shouldBeEnabled = "Yes"
+            uuid = "F397BF90-27C5-474C-9D0F-3E6C94BACC6F"
+            shouldBeEnabled = "No"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
-            filePath = "KulexiuForStudent/Common/Tools/UMShare/KSUMShareManager.m"
+            filePath = "KulexiuForStudent/Common/Base/KSTabBarViewController.m"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "115"
-            endingLineNumber = "115"
-            landmarkName = "-openShareView"
+            startingLineNumber = "122"
+            endingLineNumber = "122"
+            landmarkName = "-setAnaimationWithTabBarController:selectViewController:"
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent
-            uuid = "8508D01A-7C3D-41C4-93F0-1BC2E55E168C"
-            shouldBeEnabled = "Yes"
+            uuid = "002F2288-A397-4DF6-B3D1-F011521708C2"
+            shouldBeEnabled = "No"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
-            filePath = "KulexiuForStudent/Common/Tools/UMShare/KSUMShareManager.m"
+            filePath = "KulexiuForStudent/Common/Base/KSTabBarViewController.m"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "142"
-            endingLineNumber = "142"
-            landmarkName = "-openShareView"
+            startingLineNumber = "104"
+            endingLineNumber = "104"
+            landmarkName = "-tabBarController:didSelectViewController:"
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>

+ 32 - 26
KulexiuForStudent/KulexiuForStudent/AppDelegate.m

@@ -35,7 +35,7 @@
 #import "HomeworkDetailViewController.h"
 #import "MyCourseViewController.h"
 #import "NotiferMessageViewController.h"
-
+#import "LaunchAnimationViewController.h"
 @interface RCNaviDataInfo : NSObject
 
 @property (nonatomic, assign) NSTimeInterval uploadVideoDurationLimit;
@@ -50,7 +50,7 @@
 
 @end
 
-@interface AppDelegate ()<UITabBarControllerDelegate,RCIMReceiveMessageDelegate,WXApiDelegate,JPUSHRegisterDelegate>
+@interface AppDelegate ()<RCIMReceiveMessageDelegate,WXApiDelegate,JPUSHRegisterDelegate>
 
 @property (nonatomic, assign) BOOL isNeedUpdate;
 
@@ -108,26 +108,12 @@
     [self configJPUSHWithLaunchOptions:launchOptions];
     // 融云相关配置
     [self configIM];
-    BOOL hasLaunchGuide = UserDefaultBoolForKey(FIRST_LOGIN_KEY);
-    if (hasLaunchGuide == NO) {
-        GuideViewController *guideVC = [[GuideViewController alloc] init];
-        CustomNavViewController *navCtrl = [[CustomNavViewController alloc] initWithRootViewController:guideVC];
-        self.window.rootViewController = navCtrl;
-    }
-    else {
-        NSString *token = UserDefault(TokenKey);
-        if ([NSString isEmptyString:token]) { // 未登录
-            LoginViewController *logonVC = [[LoginViewController alloc] init];
-            CustomNavViewController *navCtrl = [[CustomNavViewController alloc] initWithRootViewController:logonVC];
-            self.window.rootViewController = navCtrl;
-        }
-        else {
-            [KSNetworkingManager configRequestHeader];
-            [USER_MANAGER queryUserInfoConnectRongCloud:YES];
-            [self initTableBar];
-            self.window.rootViewController=_tabBarController;
-        }
-    }
+    LaunchAnimationViewController *animationVC = [[LaunchAnimationViewController alloc] init];
+    MJWeakSelf;
+    [animationVC launchAnimationFinish:^{
+        [weakSelf configRootVC];
+    }];
+    self.window.rootViewController = animationVC;
     
     [self.window makeKeyAndVisible];
     
@@ -154,10 +140,7 @@
      * 推送处理 1
      */
     [self registerRemoteNotification:application];
-    
-    
     [self versionCheck];
-    
     if(@available(iOS 11.0, *)){
         
         [UINavigationBar appearanceWhenContainedInInstancesOfClasses:@[[UIDocumentBrowserViewController class]]].tintColor = THEMECOLOR;
@@ -165,6 +148,30 @@
     return YES;
 }
 
+- (void)configRootVC {
+    BOOL hasLaunchGuide = UserDefaultBoolForKey(FIRST_LOGIN_KEY);
+    if (hasLaunchGuide == NO) {
+        GuideViewController *guideVC = [[GuideViewController alloc] init];
+        CustomNavViewController *navCtrl = [[CustomNavViewController alloc] initWithRootViewController:guideVC];
+        self.window.rootViewController = navCtrl;
+    }
+    else {
+        NSString *token = UserDefault(TokenKey);
+        if ([NSString isEmptyString:token]) { // 未登录
+            LoginViewController *logonVC = [[LoginViewController alloc] init];
+            CustomNavViewController *navCtrl = [[CustomNavViewController alloc] initWithRootViewController:logonVC];
+            self.window.rootViewController = navCtrl;
+        }
+        else {
+            [KSNetworkingManager configRequestHeader];
+            [USER_MANAGER queryUserInfoConnectRongCloud:YES];
+            [self initTableBar];
+            self.window.rootViewController=_tabBarController;
+        }
+    }
+}
+
+
 - (void)registerSDK {
     [WXApi registerApp:@"wx97408cd22c879ff7" universalLink:@"https://dev.colexiu.com/studentApp/"];
 }
@@ -751,7 +758,6 @@ didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
     }
 
     self.tabBarController = [[KSTabBarViewController alloc] init];
-    self.tabBarController.delegate = self;
     self.window.rootViewController = self.tabBarController;
     int unreadMsgCount = [[RCIMClient sharedRCIMClient] getUnreadCount:@[ @(ConversationType_PRIVATE),@(ConversationType_APPSERVICE), @(ConversationType_GROUP),@(ConversationType_SYSTEM)
     ]];

+ 29 - 1
KulexiuForStudent/KulexiuForStudent/Common/Base/KSTabBarViewController.m

@@ -9,8 +9,9 @@
 #import "CustomNavViewController.h"
 #import "KSBaseViewController.h"
 #import "UIImage+Color.h"
+#import "AnimationHelper.h"
 
-@interface KSTabBarViewController ()
+@interface KSTabBarViewController ()<UITabBarControllerDelegate>
 
 @end
 
@@ -19,6 +20,7 @@
 - (void)viewDidLoad {
     [super viewDidLoad];
     // Do any additional setup after loading the view.
+    self.delegate = self;
     [self configItems];
 }
 
@@ -95,6 +97,32 @@
     UITabBarItem * tabBarItem = self.tabBar.items[index];
     [tabBarItem setBadgeValue:nil];
 }
+
+
+#pragma mark ----- UITabBarControllerDelegate
+- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
+    [self setAnaimationWithTabBarController:tabBarController selectViewController:viewController];
+}
+- (void)setAnaimationWithTabBarController:(UITabBarController *)tabBarController selectViewController:(UIViewController *)viewController {
+    //1.
+    NSInteger index = [tabBarController.viewControllers indexOfObject:viewController];
+    __block NSMutableArray <UIView *>*tabBarSwappableImageViews = [NSMutableArray arrayWithCapacity:4];
+    //2.
+    for (UIView *tempView in tabBarController.tabBar.subviews) {
+        if ([tempView isKindOfClass:NSClassFromString(@"UITabBarButton")]) {
+            for (UIImageView *tempImageView in tempView.subviews) {
+                if ([tempImageView isKindOfClass:NSClassFromString(@"UITabBarSwappableImageView")]) {
+                    [tabBarSwappableImageViews addObject:tempImageView];
+                }
+            }
+        }
+    }
+    //3.
+    __block UIView *currentTabBarSwappableImageView = tabBarSwappableImageViews[index];
+    [AnimationHelper lottieAnimation:currentTabBarSwappableImageView index:index];
+}
+
+
 /*
 #pragma mark - Navigation
 

+ 22 - 0
KulexiuForStudent/KulexiuForStudent/Common/Base/TabbarAnimation/AnimationHelper.h

@@ -0,0 +1,22 @@
+//
+//  AnimationHelper.h
+//  KulexiuForStudent
+//
+//  Created by 王智 on 2022/7/20.
+//
+
+#import <Foundation/Foundation.h>
+#import <Lottie/Lottie.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface AnimationHelper : NSObject
+
+/// lottie动画
+/// @param currentAnimationView 当前动画视图
+/// @param index 当前动画视图索引
++ (void)lottieAnimation:(UIView *)currentAnimationView index:(NSInteger)index;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 37 - 0
KulexiuForStudent/KulexiuForStudent/Common/Base/TabbarAnimation/AnimationHelper.m

@@ -0,0 +1,37 @@
+//
+//  AnimationHelper.m
+//  KulexiuForStudent
+//
+//  Created by 王智 on 2022/7/20.
+//
+
+#import "AnimationHelper.h"
+
+@implementation AnimationHelper
+
+/// lottie动画
+/// @param currentAnimationView 当前动画视图
+/// @param index 当前动画视图索引
++ (void)lottieAnimation:(UIView *)currentAnimationView index:(NSInteger)index {
+    CGRect frame = currentAnimationView.frame;
+    frame.origin.x = 0;
+    frame.origin.y = 0;
+    //__block LOTAnimationView *lottieAnimationView = [self getAnimationViewAtTabbarIndex:index frame:frame];
+    __block LOTAnimationView *lottieAnimationView = [LOTAnimationView animationNamed:[NSString stringWithFormat:@"tabbar%ld",index+1]];
+    lottieAnimationView.frame = frame;
+    lottieAnimationView.contentMode = UIViewContentModeScaleAspectFill;
+    lottieAnimationView.animationSpeed = 1;
+    
+    //self.animationView = animationView;
+    lottieAnimationView.center = currentAnimationView.center;
+    [currentAnimationView.superview addSubview:lottieAnimationView];
+    currentAnimationView.hidden = YES;
+    [lottieAnimationView playFromProgress:0 toProgress:1 withCompletion:^(BOOL animationFinished) {
+        currentAnimationView.hidden = NO;
+        [lottieAnimationView removeFromSuperview];
+        lottieAnimationView = nil;
+    }];
+    
+}
+
+@end

Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
KulexiuForStudent/KulexiuForStudent/Common/Base/TabbarAnimation/tabbar1.json


Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
KulexiuForStudent/KulexiuForStudent/Common/Base/TabbarAnimation/tabbar2.json


Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
KulexiuForStudent/KulexiuForStudent/Common/Base/TabbarAnimation/tabbar3.json


Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
KulexiuForStudent/KulexiuForStudent/Common/Base/TabbarAnimation/tabbar4.json


Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
KulexiuForStudent/KulexiuForStudent/Common/Base/TabbarAnimation/tabbar5.json


+ 97 - 38
KulexiuForStudent/KulexiuForStudent/Common/Tools/GifRefresh/KSGifRefreshFooter.m

@@ -7,54 +7,113 @@
 //
 
 #import "KSGifRefreshFooter.h"
+#import <Lottie/Lottie.h>
+
+@interface KSGifRefreshFooter ()
+
+@property(nonatomic, strong) LOTAnimationView *loadingView;
+@property(nonatomic, strong) NSString *jsonString;
+
+@end
 
 @implementation KSGifRefreshFooter
 
-#pragma mark - 重写方法
-#pragma mark 基本设置
-- (void)prepare
-{
-    [super prepare];
-    
-    // 设置普通状态的动画图片
-    NSMutableArray *idleImages = [NSMutableArray array];
-    for (NSUInteger i = 1; i<=25; i++) {
-        UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"dropdown_anim__000%zd", i]];
-        [idleImages addObject:image];
+- (instancetype)init {
+    if (self = [super init]) {
+//        self.stateLabel.hidden = YES;
+        [self setJsonName:@"teacher_refresh.json"];
+    }
+    return self;
+}
+
+- (void)setJsonName:(NSString *)jsonName {
+    self.jsonString = jsonName;
+    [self addSubview:self.loadingView];
+}
+
+- (LOTAnimationView *)loadingView {
+    if(_loadingView == nil) {
+        //1.加载本地json
+        _loadingView = [LOTAnimationView animationNamed:self.jsonString];
+        //2.加载后台给的json(url)
+        _loadingView.frame = CGRectMake(([UIScreen mainScreen].bounds.size.width / 2.0) - 21, 0, 42, 55);
+        _loadingView.loopAnimation = YES;
+        _loadingView.contentMode = UIViewContentModeScaleAspectFill;
+        _loadingView.animationSpeed = 1.0;
+        _loadingView.loopAnimation = YES;
+    }
+    return _loadingView;
+}
+
+#pragma mark - innerMethod
+- (void)endRefreshing {
+    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+        [super endRefreshing];
+    });
+}
+
+#pragma mark - 监听控件的刷新状态
+
+- (void)setState:(MJRefreshState)state {
+    MJRefreshCheckState;
+    if(self.jsonString.length > 0) {
+        switch (state) {
+            case MJRefreshStateIdle: //普通闲置状态
+            {
+                [self.loadingView stop];
+                //self.loadingView.hidden = YES;
+                break;
+            }
+            case MJRefreshStatePulling: //松开就可以进行刷新的状态
+            {
+                //self.loadingView.hidden = NO;
+            }
+                break;
+
+            case MJRefreshStateRefreshing: //正在刷新中的状态
+            {
+                self.loadingView.animationProgress = 0;
+                [self.loadingView play];
+            }
+                break;
+            default:
+                break;
+        }
     }
-    [self setImages:idleImages forState:MJRefreshStateIdle];
-    
-    // 设置即将刷新状态的动画图片(一松开就会刷新的状态)
-    NSMutableArray *refreshingImages = [NSMutableArray array];
-    for (NSUInteger i = 1; i<=67; i++) {
-        UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"dropdown_anim__000%zd", i]];
-        [refreshingImages addObject:image];
+}
+
+#pragma mark - 实时监听控件 scrollViewContentOffset
+
+- (void)scrollViewContentOffsetDidChange:(NSDictionary *)change {
+    [super scrollViewContentOffsetDidChange:change];
+    if(self.jsonString.length > 0) {
+        CGPoint point;
+        id newVelue = [change valueForKey:NSKeyValueChangeNewKey];
+        [(NSValue *)newVelue getValue:&point];
+        
+        //id newVelue1 = [change objectForKey:NSKeyValueChangeNewKey];
+        //CGPoint point1 = ((NSValue *)newVelue1).CGPointValue;//可以取值
+        
+        //id newVelue2 = [change objectForKey:@"new"];
+        //CGPoint point2 = *((__bridge CGPoint *)(newVelue2));//无法取到值
+        
+        self.loadingView.hidden = !(self.pullingPercent);
+        CGFloat progress = point.y / ([UIScreen mainScreen].bounds.size.height / 3.0);
+        if(self.state != MJRefreshStateRefreshing) {
+            self.loadingView.animationProgress = -progress;
+        }
     }
-    [self setImages:refreshingImages duration:2.0f forState:MJRefreshStatePulling];
-    
-    // 设置正在刷新状态的动画图片
-    [self setImages:refreshingImages duration:1.0f forState:MJRefreshStateRefreshing];
+}
+
+- (void)prepare {
+    [super prepare];
+    // 设置控件的高度
+        self.mj_h = 55;
     // 初始化文字
     [self setTitle:@"" forState:MJRefreshStateIdle];
     [self setTitle:@"" forState:MJRefreshStatePulling];
     [self setTitle:@"" forState:MJRefreshStateRefreshing];
     [self setTitle:[NSBundle mj_localizedStringForKey:MJRefreshBackFooterNoMoreDataText] forState:MJRefreshStateNoMoreData];
-    
-}
-
-- (void)placeSubviews
-{
-    [super placeSubviews];
-    
-    if (self.gifView.constraints.count) return;
-    
-    self.gifView.frame = self.bounds;
-    if (self.stateLabel.hidden || [NSString isEmptyString:self.stateLabel.text]) {
-        self.gifView.contentMode = UIViewContentModeCenter;
-    } else {
-        self.gifView.contentMode = UIViewContentModeRight;
-        self.gifView.mj_w = self.mj_w * 0.5 - self.labelLeftInset - self.stateLabel.mj_textWith * 0.5;
-    }
 }
 
 /*

+ 92 - 24
KulexiuForStudent/KulexiuForStudent/Common/Tools/GifRefresh/KSGifRefreshHeader.m

@@ -7,35 +7,103 @@
 //
 
 #import "KSGifRefreshHeader.h"
+#import <Lottie/Lottie.h>
+
+@interface KSGifRefreshHeader ()
+
+@property(nonatomic, strong) LOTAnimationView *loadingView;
+@property(nonatomic, strong) NSString *jsonString;
+
+@end
 
 @implementation KSGifRefreshHeader
 
-#pragma mark - 重写方法
-#pragma mark 基本设置
-- (void)prepare {
-    [super prepare];
-    
-    // 设置普通状态的动画图片
-    NSMutableArray *idleImages = [NSMutableArray array];
-    for (NSUInteger i = 1; i<=3; i++) {
-        UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"dropdown_anim__000%zd", i]];
-        [idleImages addObject:image];
+- (instancetype)init {
+    if (self = [super init]) {
+        self.lastUpdatedTimeLabel.hidden = YES;
+        self.stateLabel.hidden = YES;
+        [self setJsonName:@"teacher_refresh.json"];
+    }
+    return self;
+}
+
+- (void)setJsonName:(NSString *)jsonName {
+    self.jsonString = jsonName;
+    [self addSubview:self.loadingView];
+}
+
+- (LOTAnimationView *)loadingView {
+    if(_loadingView == nil) {
+        //1.加载本地json
+        _loadingView = [LOTAnimationView animationNamed:self.jsonString];
+        //2.加载后台给的json(url)
+        _loadingView.frame = CGRectMake(([UIScreen mainScreen].bounds.size.width / 2.0) - 21, 0, 42, 55);
+        _loadingView.loopAnimation = YES;
+        _loadingView.contentMode = UIViewContentModeScaleAspectFill;
+        _loadingView.animationSpeed = 1.0;
+        _loadingView.loopAnimation = YES;
     }
-     [self setImages:idleImages forState:MJRefreshStateIdle];
-    
-    // 设置即将刷新状态的动画图片(一松开就会刷新的状态)
-    NSMutableArray *refreshingImages = [NSMutableArray array];
-    for (NSUInteger i = 1; i<=67; i++) {
-        UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"dropdown_anim__000%zd", i]];
-        [refreshingImages addObject:image];
+    return _loadingView;
+}
+
+#pragma mark - innerMethod
+- (void)endRefreshing {
+    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+        [super endRefreshing];
+    });
+}
+
+#pragma mark - 监听控件的刷新状态
+
+- (void)setState:(MJRefreshState)state {
+    MJRefreshCheckState;
+    if(self.jsonString.length > 0) {
+        switch (state) {
+            case MJRefreshStateIdle: //普通闲置状态
+            {
+                [self.loadingView stop];
+                //self.loadingView.hidden = YES;
+                break;
+            }
+            case MJRefreshStatePulling: //松开就可以进行刷新的状态
+            {
+                //self.loadingView.hidden = NO;
+            }
+                break;
+
+            case MJRefreshStateRefreshing: //正在刷新中的状态
+            {
+                self.loadingView.animationProgress = 0;
+                [self.loadingView play];
+            }
+                break;
+            default:
+                break;
+        }
+    }
+}
+
+#pragma mark - 实时监听控件 scrollViewContentOffset
+
+- (void)scrollViewContentOffsetDidChange:(NSDictionary *)change {
+    [super scrollViewContentOffsetDidChange:change];
+    if(self.jsonString.length > 0) {
+        CGPoint point;
+        id newVelue = [change valueForKey:NSKeyValueChangeNewKey];
+        [(NSValue *)newVelue getValue:&point];
+        
+        //id newVelue1 = [change objectForKey:NSKeyValueChangeNewKey];
+        //CGPoint point1 = ((NSValue *)newVelue1).CGPointValue;//可以取值
+        
+        //id newVelue2 = [change objectForKey:@"new"];
+        //CGPoint point2 = *((__bridge CGPoint *)(newVelue2));//无法取到值
+        
+//        self.loadingView.hidden = !(self.pullingPercent);
+        CGFloat progress = point.y / ([UIScreen mainScreen].bounds.size.height / 3.0);
+        if(self.state != MJRefreshStateRefreshing) {
+            self.loadingView.animationProgress = -progress;
+        }
     }
-    [self setImages:refreshingImages duration:2.0f forState:MJRefreshStatePulling];
-    
-    // 设置正在刷新状态的动画图片
-    [self setImages:refreshingImages duration:1.0f forState:MJRefreshStateRefreshing];
-    
-    self.lastUpdatedTimeLabel.hidden = YES;
-    self.stateLabel.hidden = YES;
 }
 
 /*

Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
KulexiuForStudent/KulexiuForStudent/Common/Tools/GifRefresh/teacher_refresh.json


+ 1 - 1
KulexiuForStudent/KulexiuForStudent/KulexiuForStudent.entitlements

@@ -6,7 +6,7 @@
 	<string>development</string>
 	<key>com.apple.developer.associated-domains</key>
 	<array>
-		<string>applinks:dev.colexiu.com</string>
+		<string>applinks:online.colexiu.com</string>
 	</array>
 	<key>com.apple.developer.icloud-container-identifiers</key>
 	<array>

+ 20 - 0
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Controller/LaunchAnimationViewController.h

@@ -0,0 +1,20 @@
+//
+//  LaunchAnimationViewController.h
+//  KulexiuForStudent
+//
+//  Created by 王智 on 2022/7/20.
+//
+
+#import <UIKit/UIKit.h>
+
+typedef void(^LaunchFinishCallback)(void);
+NS_ASSUME_NONNULL_BEGIN
+
+@interface LaunchAnimationViewController : UIViewController
+
+// 结束的回调
+- (void)launchAnimationFinish:(LaunchFinishCallback)callback;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 78 - 0
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Controller/LaunchAnimationViewController.m

@@ -0,0 +1,78 @@
+//
+//  LaunchAnimationViewController.m
+//  KulexiuForStudent
+//
+//  Created by 王智 on 2022/7/20.
+//
+
+#import "LaunchAnimationViewController.h"
+#import <Lottie/Lottie.h>
+
+@interface LaunchAnimationViewController ()
+
+@property (nonatomic, strong) LOTAnimationView *loadingView;
+
+@property (nonatomic, strong) NSString *jsonString;
+
+@property (nonatomic, copy) LaunchFinishCallback callback;
+
+@end
+
+@implementation LaunchAnimationViewController
+- (void)launchAnimationFinish:(LaunchFinishCallback)callback {
+    if (callback) {
+        self.callback = callback;
+    }
+}
+
+- (void)viewDidLoad {
+    [super viewDidLoad];
+    // Do any additional setup after loading the view.
+    [self configUI];
+}
+
+- (void)configUI {
+    self.view.backgroundColor = [UIColor whiteColor];
+    
+    [self setJsonName:@"launchAni.json"];
+}
+
+- (void)setJsonName:(NSString *)jsonName {
+    self.jsonString = jsonName;
+    [self.view addSubview:self.loadingView];
+    MJWeakSelf;
+    [self.loadingView playWithCompletion:^(BOOL animationFinished) {
+        [weakSelf successBack];
+    }];
+}
+
+- (void)successBack {
+    if (self.callback) {
+        self.callback();
+    }
+}
+
+- (LOTAnimationView *)loadingView {
+    if(_loadingView == nil) {
+        //1.加载本地json
+        _loadingView = [LOTAnimationView animationNamed:self.jsonString];
+        //2.加载后台给的json(url)
+        _loadingView.frame = CGRectMake(0, 0, KPortraitWidth, KPortraitHeight);
+        _loadingView.loopAnimation = YES;
+        _loadingView.contentMode = UIViewContentModeScaleAspectFill;
+        _loadingView.animationSpeed = 1.0;
+        _loadingView.loopAnimation = NO;
+    }
+    return _loadingView;
+}
+/*
+#pragma mark - Navigation
+
+// In a storyboard-based application, you will often want to do a little preparation before navigation
+- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
+    // Get the new view controller using [segue destinationViewController].
+    // Pass the selected object to the new view controller.
+}
+*/
+
+@end

BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_0.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_1.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_10.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_11.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_12.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_13.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_14.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_15.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_16.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_17.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_18.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_19.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_2.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_20.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_21.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_22.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_23.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_24.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_25.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_26.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_27.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_28.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_29.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_3.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_30.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_31.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_32.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_33.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_34.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_35.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_36.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_37.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_38.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_39.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_4.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_40.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_41.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_42.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_43.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_44.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_45.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_46.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_47.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_48.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_49.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_5.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_50.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_51.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_52.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_53.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_54.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_55.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_6.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_7.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_8.png


BIN
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/images/img_9.png


Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
KulexiuForStudent/KulexiuForStudent/Module/AnimationLaunch/Model/launchAni.json


+ 2 - 2
KulexiuForStudent/KulexiuForStudent/Module/Home/NoticeCenter/View/NotiferMessageCell.xib

@@ -16,7 +16,7 @@
                 <rect key="frame" x="0.0" y="0.0" width="425" height="108"/>
                 <autoresizingMask key="autoresizingMask"/>
                 <subviews>
-                    <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="course_cell" translatesAutoresizingMaskIntoConstraints="NO" id="3FS-75-ZgU">
+                    <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="notifer_unknow" translatesAutoresizingMaskIntoConstraints="NO" id="3FS-75-ZgU">
                         <rect key="frame" x="16" y="32" width="44" height="44"/>
                         <constraints>
                             <constraint firstAttribute="height" constant="44" id="Abw-Pq-4OW"/>
@@ -94,6 +94,6 @@
         </tableViewCell>
     </objects>
     <resources>
-        <image name="course_cell" width="44" height="43"/>
+        <image name="notifer_unknow" width="43" height="42"/>
     </resources>
 </document>

Някои файлове не бяха показани, защото твърде много файлове са промени