HF_Q 4 years ago
parent
commit
1bf7d133b7
96 changed files with 1673 additions and 468 deletions
  1. 28 0
      smartRhino.xcodeproj/project.pbxproj
  2. BIN
      smartRhino.xcworkspace/xcuserdata/niuzhen.xcuserdatad/UserInterfaceState.xcuserstate
  3. 20 0
      smartRhino.xcworkspace/xcuserdata/niuzhen.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
  4. BIN
      smartRhino/Assets.xcassets/ChatMsg/Common_sixin_icon.imageset/Common_sixin_icon@2x.png
  5. BIN
      smartRhino/Assets.xcassets/ChatMsg/Common_sixin_icon.imageset/Common_sixin_icon@3x.png
  6. 2 3
      smartRhino/Assets.xcassets/draw_letter.imageset/Contents.json
  7. 2 3
      smartRhino/Assets.xcassets/draw_notice.imageset/Contents.json
  8. BIN
      smartRhino/Assets.xcassets/ChatMsg/Group_delete.imageset/Group_delete@2x.png
  9. BIN
      smartRhino/Assets.xcassets/ChatMsg/Group_delete.imageset/Group_delete@3x.png
  10. 0 1
      smartRhino/Assets.xcassets/draw_collect.imageset/Contents.json
  11. BIN
      smartRhino/Assets.xcassets/Common/draw_collect.imageset/draw_collect@2x.png
  12. BIN
      smartRhino/Assets.xcassets/Common/draw_collect.imageset/draw_collect@3x.png
  13. 22 0
      smartRhino/Assets.xcassets/Common/draw_common.imageset/Contents.json
  14. BIN
      smartRhino/Assets.xcassets/Common/draw_common.imageset/draw_common@2x.png
  15. BIN
      smartRhino/Assets.xcassets/Common/draw_common.imageset/draw_common@3x.png
  16. 22 0
      smartRhino/Assets.xcassets/Common/draw_home.imageset/Contents.json
  17. BIN
      smartRhino/Assets.xcassets/Common/draw_home.imageset/draw_home@2x.png
  18. BIN
      smartRhino/Assets.xcassets/Common/draw_home.imageset/draw_home@3x.png
  19. 22 0
      smartRhino/Assets.xcassets/Common/draw_mail.imageset/Contents.json
  20. BIN
      smartRhino/Assets.xcassets/Common/draw_mail.imageset/draw_mail@2x.png
  21. BIN
      smartRhino/Assets.xcassets/Common/draw_mail.imageset/draw_mail@3x.png
  22. 22 0
      smartRhino/Assets.xcassets/Common/draw_mine.imageset/Contents.json
  23. BIN
      smartRhino/Assets.xcassets/Common/draw_mine.imageset/draw_mine@2x.png
  24. BIN
      smartRhino/Assets.xcassets/Common/draw_mine.imageset/draw_mine@3x.png
  25. 0 1
      smartRhino/Assets.xcassets/draw_note.imageset/Contents.json
  26. BIN
      smartRhino/Assets.xcassets/Common/draw_note.imageset/draw_note@2x.png
  27. BIN
      smartRhino/Assets.xcassets/Common/draw_note.imageset/draw_note@3x.png
  28. 0 1
      smartRhino/Assets.xcassets/draw_set.imageset/Contents.json
  29. BIN
      smartRhino/Assets.xcassets/Common/draw_set.imageset/draw_set@2x.png
  30. BIN
      smartRhino/Assets.xcassets/Common/draw_set.imageset/draw_set@3x.png
  31. 22 0
      smartRhino/Assets.xcassets/Common/draw_sixin.imageset/Contents.json
  32. BIN
      smartRhino/Assets.xcassets/Common/draw_sixin.imageset/draw_sixin@2x.png
  33. BIN
      smartRhino/Assets.xcassets/Common/draw_sixin.imageset/draw_sixin@3x.png
  34. 22 0
      smartRhino/Assets.xcassets/Common/draw_source.imageset/Contents.json
  35. BIN
      smartRhino/Assets.xcassets/Common/draw_source.imageset/draw_source@2x.png
  36. BIN
      smartRhino/Assets.xcassets/Common/draw_source.imageset/draw_source@3x.png
  37. 22 0
      smartRhino/Assets.xcassets/Common/draw_txl.imageset/Contents.json
  38. BIN
      smartRhino/Assets.xcassets/Common/draw_txl.imageset/draw_txl@2x.png
  39. BIN
      smartRhino/Assets.xcassets/Common/draw_txl.imageset/draw_txl@3x.png
  40. 0 1
      smartRhino/Assets.xcassets/bar_chat_off.imageset/Contents.json
  41. BIN
      smartRhino/Assets.xcassets/bar_chat_off.imageset/bar_chat_off.png
  42. 2 3
      smartRhino/Assets.xcassets/bar_home_off.imageset/Contents.json
  43. 0 0
      smartRhino/Assets.xcassets/bar_home_off.imageset/bar_home_off@2x.png
  44. 0 0
      smartRhino/Assets.xcassets/bar_home_off.imageset/bar_home_off@3x.png
  45. BIN
      smartRhino/Assets.xcassets/bar_home_off.imageset/bar_home_on.png
  46. BIN
      smartRhino/Assets.xcassets/draw_collect.imageset/draw_collect.png
  47. BIN
      smartRhino/Assets.xcassets/draw_collect.imageset/draw_collect@2x.png
  48. BIN
      smartRhino/Assets.xcassets/draw_collect.imageset/draw_collect@3x.png
  49. BIN
      smartRhino/Assets.xcassets/draw_letter.imageset/draw_letter.png
  50. BIN
      smartRhino/Assets.xcassets/draw_letter.imageset/draw_letter@2x.png
  51. BIN
      smartRhino/Assets.xcassets/draw_letter.imageset/draw_letter@3x.png
  52. BIN
      smartRhino/Assets.xcassets/draw_note.imageset/draw_note.png
  53. BIN
      smartRhino/Assets.xcassets/draw_note.imageset/draw_note@2x.png
  54. BIN
      smartRhino/Assets.xcassets/draw_note.imageset/draw_note@3x.png
  55. BIN
      smartRhino/Assets.xcassets/draw_notice.imageset/draw_notice.png
  56. BIN
      smartRhino/Assets.xcassets/draw_notice.imageset/draw_notice@2x.png
  57. BIN
      smartRhino/Assets.xcassets/draw_notice.imageset/draw_notice@3x.png
  58. BIN
      smartRhino/Assets.xcassets/draw_set.imageset/draw_set.png
  59. BIN
      smartRhino/Assets.xcassets/draw_set.imageset/draw_set@2x.png
  60. BIN
      smartRhino/Assets.xcassets/draw_set.imageset/draw_set@3x.png
  61. 22 0
      smartRhino/Assets.xcassets/我的/mine_txl_icon.imageset/Contents.json
  62. BIN
      smartRhino/Assets.xcassets/我的/mine_txl_icon.imageset/mine_txl_icon@2x.png
  63. BIN
      smartRhino/Assets.xcassets/我的/mine_txl_icon.imageset/mine_txl_icon@3x.png
  64. 36 22
      smartRhino/Project/Base/SubClass/Controller/BaseViewController.m
  65. 40 22
      smartRhino/Project/VCModel/ChatMessage/Chat/EMChatViewController.m
  66. 28 10
      smartRhino/Project/VCModel/ChatMessage/ChatMsg.storyboard
  67. 1 0
      smartRhino/Project/VCModel/ChatMessage/Controller/ChatMsgListVC.h
  68. 180 172
      smartRhino/Project/VCModel/ChatMessage/Controller/ChatMsgListVC.m
  69. 9 25
      smartRhino/Project/VCModel/ChatMessage/Controller/MyTDGroup/Cell/TDGroupInfoDetailCell.xib
  70. 19 0
      smartRhino/Project/VCModel/ChatMessage/Controller/MyTDGroup/Cell/TDGroupLabelCell.h
  71. 18 0
      smartRhino/Project/VCModel/ChatMessage/Controller/MyTDGroup/Cell/TDGroupLabelCell.m
  72. 60 0
      smartRhino/Project/VCModel/ChatMessage/Controller/MyTDGroup/Cell/TDGroupLabelCell.xib
  73. 401 2
      smartRhino/Project/VCModel/ChatMessage/Controller/MyTDGroup/TDGroup.storyboard
  74. 17 0
      smartRhino/Project/VCModel/ChatMessage/Controller/MyTDGroup/VC/AddGroupLabelVC.h
  75. 84 0
      smartRhino/Project/VCModel/ChatMessage/Controller/MyTDGroup/VC/AddGroupLabelVC.m
  76. 56 54
      smartRhino/Project/VCModel/ChatMessage/Controller/MyTDGroup/VC/TDGroupInfoDetailVC.m
  77. 17 0
      smartRhino/Project/VCModel/ChatMessage/Controller/MyTDGroup/VC/TDGroupLabelVC.h
  78. 70 0
      smartRhino/Project/VCModel/ChatMessage/Controller/MyTDGroup/VC/TDGroupLabelVC.m
  79. 17 0
      smartRhino/Project/VCModel/ChatMessage/Controller/MyTDGroup/VC/TDGroupRoleVC.h
  80. 80 0
      smartRhino/Project/VCModel/ChatMessage/Controller/MyTDGroup/VC/TDGroupRoleVC.m
  81. 2 2
      smartRhino/Project/VCModel/ChatMessage/Controller/MyTDGroup/View/MyTDGroupView.m
  82. 1 1
      smartRhino/Project/VCModel/ChatMessage/Controller/MyTDGroup/View/createSearchBarView.h
  83. 8 1
      smartRhino/Project/VCModel/ChatMessage/Controller/MyTDGroup/View/createSearchBarView.m
  84. 4 4
      smartRhino/Project/VCModel/ChatMessage/View/ChatMsgCollectionCell.xib
  85. 3 3
      smartRhino/Project/VCModel/Home/OtherHomeVC/Drawer/DrawerView.m
  86. 41 23
      smartRhino/Project/VCModel/Home/VC/HomeDetailController.m
  87. 6 1
      smartRhino/Project/VCModel/Home/VC/View/Cell/HomeTableViewCell.m
  88. 20 5
      smartRhino/Project/VCModel/My_Center/Controller/My_CenterVC.m
  89. 7 7
      smartRhino/Project/VCModel/My_Center/View/MyAccountCell.xib
  90. 4 1
      smartRhino/Project/VCModel/Source/Controller/GroupSquareVC.m
  91. 49 7
      smartRhino/Project/VCModel/Source/Controller/SourceHomeVC.m
  92. 41 23
      smartRhino/Project/VCModel/WorkFlow/DownFileViewController.m
  93. 41 23
      smartRhino/Project/VCModel/WorkFlow/MyApprovalPageDetail.m
  94. 41 23
      smartRhino/Project/VCModel/WorkFlow/MyApprovalPageVC.m
  95. 41 23
      smartRhino/Project/VCModel/WorkFlow/MyWorkWordVC.m
  96. 1 1
      smartRhino/Project/VCModel/common/Controller/CommonHomeVC.m

+ 28 - 0
smartRhino.xcodeproj/project.pbxproj

@@ -764,6 +764,11 @@
 		EB2E470923A4B55D00CAF0D3 /* SmartBar.m in Sources */ = {isa = PBXBuildFile; fileRef = EB2E470823A4B55D00CAF0D3 /* SmartBar.m */; };
 		EB2E470C23A4B78300CAF0D3 /* SmartBarModel.m in Sources */ = {isa = PBXBuildFile; fileRef = EB2E470B23A4B78300CAF0D3 /* SmartBarModel.m */; };
 		EB2E471223A4D32400CAF0D3 /* NewTopicVC.m in Sources */ = {isa = PBXBuildFile; fileRef = EB2E471123A4D32400CAF0D3 /* NewTopicVC.m */; };
+		EB38513F24652BA700E28172 /* TDGroupRoleVC.m in Sources */ = {isa = PBXBuildFile; fileRef = EB38513E24652BA700E28172 /* TDGroupRoleVC.m */; };
+		EB38514224652EB000E28172 /* TDGroupLabelVC.m in Sources */ = {isa = PBXBuildFile; fileRef = EB38514124652EB000E28172 /* TDGroupLabelVC.m */; };
+		EB38514624653A2200E28172 /* TDGroupLabelCell.m in Sources */ = {isa = PBXBuildFile; fileRef = EB38514424653A2200E28172 /* TDGroupLabelCell.m */; };
+		EB38514724653A2200E28172 /* TDGroupLabelCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = EB38514524653A2200E28172 /* TDGroupLabelCell.xib */; };
+		EB38514A24653F5D00E28172 /* AddGroupLabelVC.m in Sources */ = {isa = PBXBuildFile; fileRef = EB38514924653F5D00E28172 /* AddGroupLabelVC.m */; };
 		EB3DCA4724551B0E000A0189 /* ShareListVC.m in Sources */ = {isa = PBXBuildFile; fileRef = EB3DCA4624551B0E000A0189 /* ShareListVC.m */; };
 		EB3DCA4F24555299000A0189 /* ShareSysVC.m in Sources */ = {isa = PBXBuildFile; fileRef = EB3DCA4E24555299000A0189 /* ShareSysVC.m */; };
 		EB3DCA52245552AE000A0189 /* ShareCusVC.m in Sources */ = {isa = PBXBuildFile; fileRef = EB3DCA51245552AE000A0189 /* ShareCusVC.m */; };
@@ -2509,6 +2514,15 @@
 		EB2E470B23A4B78300CAF0D3 /* SmartBarModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SmartBarModel.m; sourceTree = "<group>"; };
 		EB2E471023A4D32400CAF0D3 /* NewTopicVC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NewTopicVC.h; sourceTree = "<group>"; };
 		EB2E471123A4D32400CAF0D3 /* NewTopicVC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NewTopicVC.m; sourceTree = "<group>"; };
+		EB38513D24652BA700E28172 /* TDGroupRoleVC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDGroupRoleVC.h; sourceTree = "<group>"; };
+		EB38513E24652BA700E28172 /* TDGroupRoleVC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TDGroupRoleVC.m; sourceTree = "<group>"; };
+		EB38514024652EB000E28172 /* TDGroupLabelVC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDGroupLabelVC.h; sourceTree = "<group>"; };
+		EB38514124652EB000E28172 /* TDGroupLabelVC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TDGroupLabelVC.m; sourceTree = "<group>"; };
+		EB38514324653A2200E28172 /* TDGroupLabelCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDGroupLabelCell.h; sourceTree = "<group>"; };
+		EB38514424653A2200E28172 /* TDGroupLabelCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TDGroupLabelCell.m; sourceTree = "<group>"; };
+		EB38514524653A2200E28172 /* TDGroupLabelCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TDGroupLabelCell.xib; sourceTree = "<group>"; };
+		EB38514824653F5D00E28172 /* AddGroupLabelVC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AddGroupLabelVC.h; sourceTree = "<group>"; };
+		EB38514924653F5D00E28172 /* AddGroupLabelVC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AddGroupLabelVC.m; sourceTree = "<group>"; };
 		EB3DCA4524551B0E000A0189 /* ShareListVC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ShareListVC.h; sourceTree = "<group>"; };
 		EB3DCA4624551B0E000A0189 /* ShareListVC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ShareListVC.m; sourceTree = "<group>"; };
 		EB3DCA4D24555299000A0189 /* ShareSysVC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ShareSysVC.h; sourceTree = "<group>"; };
@@ -4818,6 +4832,12 @@
 				EB3EAFED23A26B9B00C38AB4 /* TDGroupInfoListVC.m */,
 				EB3EAFEF23A31C7D00C38AB4 /* TDGroupInfoDetailVC.h */,
 				EB3EAFF023A31C7D00C38AB4 /* TDGroupInfoDetailVC.m */,
+				EB38513D24652BA700E28172 /* TDGroupRoleVC.h */,
+				EB38513E24652BA700E28172 /* TDGroupRoleVC.m */,
+				EB38514024652EB000E28172 /* TDGroupLabelVC.h */,
+				EB38514124652EB000E28172 /* TDGroupLabelVC.m */,
+				EB38514824653F5D00E28172 /* AddGroupLabelVC.h */,
+				EB38514924653F5D00E28172 /* AddGroupLabelVC.m */,
 				EB440FD223A36D4C006BCB95 /* TDGroupInfoChangeVc.h */,
 				EB440FD323A36D4C006BCB95 /* TDGroupInfoChangeVc.m */,
 				EB2E470423A48BAB00CAF0D3 /* TDQrJoinVC.h */,
@@ -4876,6 +4896,9 @@
 				EBE36C3423A7208E002BE674 /* NewTopicCell.h */,
 				EBE36C3523A7208E002BE674 /* NewTopicCell.m */,
 				EBE36C3623A7208E002BE674 /* NewTopicCell.xib */,
+				EB38514324653A2200E28172 /* TDGroupLabelCell.h */,
+				EB38514424653A2200E28172 /* TDGroupLabelCell.m */,
+				EB38514524653A2200E28172 /* TDGroupLabelCell.xib */,
 			);
 			path = Cell;
 			sourceTree = "<group>";
@@ -7666,6 +7689,7 @@
 				C7D6BC91235DA1CE00770E7C /* ClubApplicationViewController.xib in Resources */,
 				EB8E2D9A239666A900CDFBDA /* msg_video_white@3x.png in Resources */,
 				EB8E2D44239666A900CDFBDA /* icon_018.gif in Resources */,
+				EB38514724653A2200E28172 /* TDGroupLabelCell.xib in Resources */,
 				EB8E2D49239666A900CDFBDA /* icon_021_cover.png in Resources */,
 				EB8E2D62239666A900CDFBDA /* chatbar_extend_blue@2x.png in Resources */,
 				EB8E2CE4239666A900CDFBDA /* close_white@2x.png in Resources */,
@@ -8082,6 +8106,7 @@
 				C76B01282387B9C400AD6E28 /* WorkFilterModel.m in Sources */,
 				C7E125AA23793AA60067F275 /* JpushTool.m in Sources */,
 				C625AA66236D99170010E967 /* ChatMsgListVC.m in Sources */,
+				EB38514224652EB000E28172 /* TDGroupLabelVC.m in Sources */,
 				C62270A3236C09FC00E2E3BF /* GHRefreshTableView.m in Sources */,
 				C75958A0237FF2BF00AE85C0 /* HomeTopImageModel.m in Sources */,
 				EB8E2D26239666A900CDFBDA /* EMChatBarItem.m in Sources */,
@@ -8103,6 +8128,7 @@
 				EB0F64D623AA528A00AD56A0 /* TopicListItemModel.m in Sources */,
 				EB2E470923A4B55D00CAF0D3 /* SmartBar.m in Sources */,
 				C62215632371057F006F5D7F /* MoreAppModel.m in Sources */,
+				EB38514A24653F5D00E28172 /* AddGroupLabelVC.m in Sources */,
 				32580E5E23ADB3D2005DF500 /* NoteBookSelectFinderVC.m in Sources */,
 				C59D0C2A23825DE1007D0760 /* UIScrollView+YYAdd.m in Sources */,
 				EBB6887D23C9C0C300E24DD9 /* NSString+NSDate.m in Sources */,
@@ -8388,6 +8414,7 @@
 				C7D6BC85235DA1CE00770E7C /* NoticeViewController.m in Sources */,
 				C76DB42F236ACB4B00369F5C /* MyTDTopicViewController.m in Sources */,
 				C69A8E1923753A150098FA26 /* CalenderView.m in Sources */,
+				EB38513F24652BA700E28172 /* TDGroupRoleVC.m in Sources */,
 				C7F6162B238C06F0008AF22D /* UserManager.m in Sources */,
 				EB3EAFEE23A26B9B00C38AB4 /* TDGroupInfoListVC.m in Sources */,
 				C7525DEA238907D6004B9D71 /* MyWorkAppApprovalCell.m in Sources */,
@@ -8598,6 +8625,7 @@
 				C59D0C3623825DE1007D0760 /* NSData+YYAdd.m in Sources */,
 				C7743F9D23A8B2D800973D70 /* WorkFlowHomeCell.m in Sources */,
 				EBF2D55423C2E8A000EC35C4 /* MHComment.m in Sources */,
+				EB38514624653A2200E28172 /* TDGroupLabelCell.m in Sources */,
 				EBDE08CA24583D47005D426C /* CommonWorkVC.m in Sources */,
 				C59D0C4623825DE1007D0760 /* YYTransaction.m in Sources */,
 				C59D0A432382468A007D0760 /* JSONModelError.m in Sources */,

BIN
smartRhino.xcworkspace/xcuserdata/niuzhen.xcuserdatad/UserInterfaceState.xcuserstate


+ 20 - 0
smartRhino.xcworkspace/xcuserdata/niuzhen.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -36,5 +36,25 @@
             </Locations>
          </BreakpointContent>
       </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.RuntimeIssueBreakpoint">
+         <BreakpointContent
+            uuid = "7A633598-A559-4F7C-B719-EA351581B988"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            breakpointStackSelectionBehavior = "1"
+            type = "65535">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.SwiftErrorBreakpoint">
+         <BreakpointContent
+            uuid = "01C9F169-8195-42D5-A994-BCFD423D8DAB"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No">
+         </BreakpointContent>
+      </BreakpointProxy>
    </Breakpoints>
 </Bucket>

BIN
smartRhino/Assets.xcassets/ChatMsg/Common_sixin_icon.imageset/Common_sixin_icon@2x.png


BIN
smartRhino/Assets.xcassets/ChatMsg/Common_sixin_icon.imageset/Common_sixin_icon@3x.png


+ 2 - 3
smartRhino/Assets.xcassets/draw_letter.imageset/Contents.json

@@ -2,17 +2,16 @@
   "images" : [
     {
       "idiom" : "universal",
-      "filename" : "draw_letter.png",
       "scale" : "1x"
     },
     {
       "idiom" : "universal",
-      "filename" : "draw_letter@2x.png",
+      "filename" : "Common_sixin_icon@2x.png",
       "scale" : "2x"
     },
     {
       "idiom" : "universal",
-      "filename" : "draw_letter@3x.png",
+      "filename" : "Common_sixin_icon@3x.png",
       "scale" : "3x"
     }
   ],

+ 2 - 3
smartRhino/Assets.xcassets/draw_notice.imageset/Contents.json

@@ -2,17 +2,16 @@
   "images" : [
     {
       "idiom" : "universal",
-      "filename" : "draw_notice.png",
       "scale" : "1x"
     },
     {
       "idiom" : "universal",
-      "filename" : "draw_notice@2x.png",
+      "filename" : "Group_delete@2x.png",
       "scale" : "2x"
     },
     {
       "idiom" : "universal",
-      "filename" : "draw_notice@3x.png",
+      "filename" : "Group_delete@3x.png",
       "scale" : "3x"
     }
   ],

BIN
smartRhino/Assets.xcassets/ChatMsg/Group_delete.imageset/Group_delete@2x.png


BIN
smartRhino/Assets.xcassets/ChatMsg/Group_delete.imageset/Group_delete@3x.png


+ 0 - 1
smartRhino/Assets.xcassets/draw_collect.imageset/Contents.json

@@ -2,7 +2,6 @@
   "images" : [
     {
       "idiom" : "universal",
-      "filename" : "draw_collect.png",
       "scale" : "1x"
     },
     {

BIN
smartRhino/Assets.xcassets/Common/draw_collect.imageset/draw_collect@2x.png


BIN
smartRhino/Assets.xcassets/Common/draw_collect.imageset/draw_collect@3x.png


+ 22 - 0
smartRhino/Assets.xcassets/Common/draw_common.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "draw_common@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "draw_common@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
smartRhino/Assets.xcassets/Common/draw_common.imageset/draw_common@2x.png


BIN
smartRhino/Assets.xcassets/Common/draw_common.imageset/draw_common@3x.png


+ 22 - 0
smartRhino/Assets.xcassets/Common/draw_home.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "draw_home@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "draw_home@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
smartRhino/Assets.xcassets/Common/draw_home.imageset/draw_home@2x.png


BIN
smartRhino/Assets.xcassets/Common/draw_home.imageset/draw_home@3x.png


+ 22 - 0
smartRhino/Assets.xcassets/Common/draw_mail.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "draw_mail@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "draw_mail@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
smartRhino/Assets.xcassets/Common/draw_mail.imageset/draw_mail@2x.png


BIN
smartRhino/Assets.xcassets/Common/draw_mail.imageset/draw_mail@3x.png


+ 22 - 0
smartRhino/Assets.xcassets/Common/draw_mine.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "draw_mine@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "draw_mine@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
smartRhino/Assets.xcassets/Common/draw_mine.imageset/draw_mine@2x.png


BIN
smartRhino/Assets.xcassets/Common/draw_mine.imageset/draw_mine@3x.png


+ 0 - 1
smartRhino/Assets.xcassets/draw_note.imageset/Contents.json

@@ -2,7 +2,6 @@
   "images" : [
     {
       "idiom" : "universal",
-      "filename" : "draw_note.png",
       "scale" : "1x"
     },
     {

BIN
smartRhino/Assets.xcassets/Common/draw_note.imageset/draw_note@2x.png


BIN
smartRhino/Assets.xcassets/Common/draw_note.imageset/draw_note@3x.png


+ 0 - 1
smartRhino/Assets.xcassets/draw_set.imageset/Contents.json

@@ -2,7 +2,6 @@
   "images" : [
     {
       "idiom" : "universal",
-      "filename" : "draw_set.png",
       "scale" : "1x"
     },
     {

BIN
smartRhino/Assets.xcassets/Common/draw_set.imageset/draw_set@2x.png


BIN
smartRhino/Assets.xcassets/Common/draw_set.imageset/draw_set@3x.png


+ 22 - 0
smartRhino/Assets.xcassets/Common/draw_sixin.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "draw_sixin@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "draw_sixin@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
smartRhino/Assets.xcassets/Common/draw_sixin.imageset/draw_sixin@2x.png


BIN
smartRhino/Assets.xcassets/Common/draw_sixin.imageset/draw_sixin@3x.png


+ 22 - 0
smartRhino/Assets.xcassets/Common/draw_source.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "draw_source@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "draw_source@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
smartRhino/Assets.xcassets/Common/draw_source.imageset/draw_source@2x.png


BIN
smartRhino/Assets.xcassets/Common/draw_source.imageset/draw_source@3x.png


+ 22 - 0
smartRhino/Assets.xcassets/Common/draw_txl.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "draw_txl@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "draw_txl@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
smartRhino/Assets.xcassets/Common/draw_txl.imageset/draw_txl@2x.png


BIN
smartRhino/Assets.xcassets/Common/draw_txl.imageset/draw_txl@3x.png


+ 0 - 1
smartRhino/Assets.xcassets/bar_chat_off.imageset/Contents.json

@@ -2,7 +2,6 @@
   "images" : [
     {
       "idiom" : "universal",
-      "filename" : "bar_chat_off.png",
       "scale" : "1x"
     },
     {

BIN
smartRhino/Assets.xcassets/bar_chat_off.imageset/bar_chat_off.png


+ 2 - 3
smartRhino/Assets.xcassets/bar_home_off.imageset/Contents.json

@@ -2,17 +2,16 @@
   "images" : [
     {
       "idiom" : "universal",
-      "filename" : "bar_home_on.png",
       "scale" : "1x"
     },
     {
       "idiom" : "universal",
-      "filename" : "bar_home_on@2x.png",
+      "filename" : "bar_home_off@2x.png",
       "scale" : "2x"
     },
     {
       "idiom" : "universal",
-      "filename" : "bar_home_on@3x.png",
+      "filename" : "bar_home_off@3x.png",
       "scale" : "3x"
     }
   ],

smartRhino/Assets.xcassets/bar_home_off.imageset/bar_home_on@2x.png → smartRhino/Assets.xcassets/bar_home_off.imageset/bar_home_off@2x.png


smartRhino/Assets.xcassets/bar_home_off.imageset/bar_home_on@3x.png → smartRhino/Assets.xcassets/bar_home_off.imageset/bar_home_off@3x.png


BIN
smartRhino/Assets.xcassets/bar_home_off.imageset/bar_home_on.png


BIN
smartRhino/Assets.xcassets/draw_collect.imageset/draw_collect.png


BIN
smartRhino/Assets.xcassets/draw_collect.imageset/draw_collect@2x.png


BIN
smartRhino/Assets.xcassets/draw_collect.imageset/draw_collect@3x.png


BIN
smartRhino/Assets.xcassets/draw_letter.imageset/draw_letter.png


BIN
smartRhino/Assets.xcassets/draw_letter.imageset/draw_letter@2x.png


BIN
smartRhino/Assets.xcassets/draw_letter.imageset/draw_letter@3x.png


BIN
smartRhino/Assets.xcassets/draw_note.imageset/draw_note.png


BIN
smartRhino/Assets.xcassets/draw_note.imageset/draw_note@2x.png


BIN
smartRhino/Assets.xcassets/draw_note.imageset/draw_note@3x.png


BIN
smartRhino/Assets.xcassets/draw_notice.imageset/draw_notice.png


BIN
smartRhino/Assets.xcassets/draw_notice.imageset/draw_notice@2x.png


BIN
smartRhino/Assets.xcassets/draw_notice.imageset/draw_notice@3x.png


BIN
smartRhino/Assets.xcassets/draw_set.imageset/draw_set.png


BIN
smartRhino/Assets.xcassets/draw_set.imageset/draw_set@2x.png


BIN
smartRhino/Assets.xcassets/draw_set.imageset/draw_set@3x.png


+ 22 - 0
smartRhino/Assets.xcassets/我的/mine_txl_icon.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "mine_txl_icon@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "mine_txl_icon@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
smartRhino/Assets.xcassets/我的/mine_txl_icon.imageset/mine_txl_icon@2x.png


BIN
smartRhino/Assets.xcassets/我的/mine_txl_icon.imageset/mine_txl_icon@3x.png


+ 36 - 22
smartRhino/Project/Base/SubClass/Controller/BaseViewController.m

@@ -66,30 +66,44 @@
         if ([weakSelf.navigationController.viewControllers count] > 1) {
             [weakSelf.navigationController popToRootViewControllerAnimated:NO];
         }
-        if (indexPath.section == 0) {
-            [[TabBarController sharedTabBarController] setSelectedIndex:indexPath.row];
-        }else{
-            ///@"站内信", @"通知", @"收藏",@"笔记", @"设置"
-            switch (indexPath.row) {
-                case 0:
-                {
-                    [[TabBarController sharedTabBarController] setSelectedIndex:2];
-                }
-                    break;
-                case 1:
-                {
-                    [[TabBarController sharedTabBarController] setSelectedIndex:2];
-                }
-                    break;
-                default:
-                {
-                    [[TabBarController sharedTabBarController] setSelectedIndex:3];
+        switch (indexPath.section) {
+            case 0:
+            {
+                [[TabBarController sharedTabBarController] setSelectedIndex:indexPath.row];
+            }
+                break;
+            case 1:
+            {
+                switch (indexPath.row) {
+                    case 0:
+                    {
+                        [[TabBarController sharedTabBarController] setSelectedIndex:2];
+                    }
+                        break;
+                    case 1:
+                    {
+                        [[TabBarController sharedTabBarController] setSelectedIndex:2];
+                    }
+                        break;
+                    default:
+                    {
+                        [[TabBarController sharedTabBarController] setSelectedIndex:3];
+                    }
+                        break;
                 }
-                    break;
+                dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+                    [[NSNotificationCenter defaultCenter] postNotificationName:DRAWERPUSHVC object:nil userInfo:@{VCINDEX:@(indexPath.row)}];
+                });
+            }
+                break;
+            default:
+            {
+                [[TabBarController sharedTabBarController] setSelectedIndex:3];
+                dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+                    [[NSNotificationCenter defaultCenter] postNotificationName:DRAWERPUSHVC object:nil userInfo:@{VCINDEX:@(4 + indexPath.row)}];
+                });
             }
-            dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
-                [[NSNotificationCenter defaultCenter] postNotificationName:DRAWERPUSHVC object:nil userInfo:@{VCINDEX:@(indexPath.row)}];
-            });
+                break;
         }
     };
     self.drawerView.frame = CGRectMake(0,0, SCREEN_WIDTH, SCREEN_HEIGHT);// - kNavigationHeight

+ 40 - 22
smartRhino/Project/VCModel/ChatMessage/Chat/EMChatViewController.m

@@ -303,33 +303,51 @@
     [self.tabBtn setAction:^{
         [[UtilsTools getWindow] addSubview:weakSelf.drawerView];
         weakSelf.drawerView.SelectDrawerBlock = ^(NSIndexPath * _Nonnull indexPath) {
+            if (![weakSelf.tabBarController isKindOfClass:[TabBarController class]]) {
+                [TabBarController sharedTabBarController].tabBar.hidden = NO;
+                [weakSelf.tabBarController.navigationController popViewControllerAnimated:NO];
+            }
             if ([weakSelf.navigationController.viewControllers count] > 1) {
                 [weakSelf.navigationController popToRootViewControllerAnimated:NO];
             }
-            if (indexPath.section == 0) {
-                [[TabBarController sharedTabBarController] setSelectedIndex:indexPath.row];
-            }else{
-                ///@"站内信", @"通知", @"收藏",@"笔记", @"设置"
-                switch (indexPath.row) {
-                    case 0:
-                    {
-                        [[TabBarController sharedTabBarController] setSelectedIndex:2];
-                    }
-                        break;
-                    case 1:
-                    {
-                        [[TabBarController sharedTabBarController] setSelectedIndex:2];
-                    }
-                        break;
-                    default:
-                    {
-                        [[TabBarController sharedTabBarController] setSelectedIndex:3];
+            switch (indexPath.section) {
+                case 0:
+                {
+                    [[TabBarController sharedTabBarController] setSelectedIndex:indexPath.row];
+                }
+                    break;
+                case 1:
+                {
+                    switch (indexPath.row) {
+                        case 0:
+                        {
+                            [[TabBarController sharedTabBarController] setSelectedIndex:2];
+                        }
+                            break;
+                        case 1:
+                        {
+                            [[TabBarController sharedTabBarController] setSelectedIndex:2];
+                        }
+                            break;
+                        default:
+                        {
+                            [[TabBarController sharedTabBarController] setSelectedIndex:3];
+                        }
+                            break;
                     }
-                        break;
+                    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+                        [[NSNotificationCenter defaultCenter] postNotificationName:DRAWERPUSHVC object:nil userInfo:@{VCINDEX:@(indexPath.row)}];
+                    });
                 }
-                dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
-                    [[NSNotificationCenter defaultCenter] postNotificationName:DRAWERPUSHVC object:nil userInfo:@{VCINDEX:@(indexPath.row)}];
-                });
+                    break;
+                default:
+                {
+                    [[TabBarController sharedTabBarController] setSelectedIndex:3];
+                    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+                        [[NSNotificationCenter defaultCenter] postNotificationName:DRAWERPUSHVC object:nil userInfo:@{VCINDEX:@(4 + indexPath.row)}];
+                    });
+                }
+                    break;
             }
         };
         weakSelf.drawerView.frame = CGRectMake(0,0, SCREEN_WIDTH, SCREEN_HEIGHT);// - kNavigationHeight

+ 28 - 10
smartRhino/Project/VCModel/ChatMessage/ChatMsg.storyboard

@@ -45,6 +45,16 @@
                                                 </constraints>
                                                 <state key="normal" image="back_black_icon"/>
                                             </button>
+                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Mvc-dA-zdl">
+                                                <rect key="frame" x="50" y="0.0" width="35" height="44"/>
+                                                <constraints>
+                                                    <constraint firstAttribute="width" constant="35" id="WYp-n7-SKa"/>
+                                                </constraints>
+                                                <state key="normal" image="menu_black_icon"/>
+                                                <connections>
+                                                    <action selector="menuAction:" destination="SHO-cN-RrV" eventType="touchUpInside" id="XRB-R3-EHY"/>
+                                                </connections>
+                                            </button>
                                             <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="YYs-nB-CIH">
                                                 <rect key="frame" x="52" y="7" width="31" height="30"/>
                                                 <constraints>
@@ -62,7 +72,7 @@
                                                 </constraints>
                                                 <state key="normal" image="chatmsg_right_add_icon"/>
                                             </button>
-                                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="信" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Jog-Lg-Zi7">
+                                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="信" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Jog-Lg-Zi7">
                                                 <rect key="frame" x="188.66666666666666" y="11.666666666666668" width="37" height="21.000000000000004"/>
                                                 <fontDescription key="fontDescription" type="system" pointSize="18"/>
                                                 <color key="textColor" red="0.039215686274509803" green="0.039215686274509803" blue="0.039215686274509803" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
@@ -76,9 +86,12 @@
                                             <constraint firstItem="YYs-nB-CIH" firstAttribute="leading" secondItem="ftx-T7-q9i" secondAttribute="trailing" constant="2" id="JJj-Pj-10Q"/>
                                             <constraint firstItem="cjZ-Pc-tj5" firstAttribute="centerY" secondItem="Jog-Lg-Zi7" secondAttribute="centerY" id="NNT-7i-LqC"/>
                                             <constraint firstAttribute="bottom" secondItem="cjZ-Pc-tj5" secondAttribute="bottom" id="OYW-u5-SPO"/>
+                                            <constraint firstAttribute="bottom" secondItem="Mvc-dA-zdl" secondAttribute="bottom" id="buV-lJ-UQL"/>
                                             <constraint firstAttribute="height" constant="44" id="gAr-gG-sBR"/>
                                             <constraint firstItem="ftx-T7-q9i" firstAttribute="leading" secondItem="nXu-vq-Dw6" secondAttribute="leading" id="i5G-NL-FmB"/>
+                                            <constraint firstItem="Mvc-dA-zdl" firstAttribute="leading" secondItem="ftx-T7-q9i" secondAttribute="trailing" id="oN3-Cm-bKQ"/>
                                             <constraint firstAttribute="trailing" secondItem="cjZ-Pc-tj5" secondAttribute="trailing" id="oeu-65-X7Z"/>
+                                            <constraint firstItem="Mvc-dA-zdl" firstAttribute="top" secondItem="nXu-vq-Dw6" secondAttribute="top" id="tQs-X6-kj7"/>
                                             <constraint firstItem="YYs-nB-CIH" firstAttribute="centerY" secondItem="ftx-T7-q9i" secondAttribute="centerY" id="wbK-FR-B45"/>
                                         </constraints>
                                     </view>
@@ -95,35 +108,40 @@
                                     <outlet property="height" destination="4EF-wU-gZO" id="qe0-R5-HtA"/>
                                 </connections>
                             </view>
-                            <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="none" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="P7O-Ou-oGU">
-                                <rect key="frame" x="0.0" y="64" width="414" height="672"/>
-                            </tableView>
+                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="NmS-Ca-cpY">
+                                <rect key="frame" x="0.0" y="64" width="414" height="50"/>
+                                <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                <constraints>
+                                    <constraint firstAttribute="height" constant="50" id="Z6j-uI-cmb"/>
+                                </constraints>
+                            </view>
                         </subviews>
                         <color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
                         <constraints>
-                            <constraint firstItem="P7O-Ou-oGU" firstAttribute="leading" secondItem="7c1-e0-9St" secondAttribute="leading" id="FLs-xl-Waa"/>
+                            <constraint firstItem="7c1-e0-9St" firstAttribute="trailing" secondItem="NmS-Ca-cpY" secondAttribute="trailing" id="BY2-tU-iN4"/>
                             <constraint firstItem="hCB-eT-rx4" firstAttribute="trailing" secondItem="7c1-e0-9St" secondAttribute="trailing" id="aeX-EI-pWy"/>
-                            <constraint firstItem="7c1-e0-9St" firstAttribute="bottom" secondItem="P7O-Ou-oGU" secondAttribute="bottom" id="b3y-bO-csP"/>
                             <constraint firstItem="hCB-eT-rx4" firstAttribute="top" secondItem="DUl-bS-JUQ" secondAttribute="top" id="dLA-cp-dy0"/>
-                            <constraint firstItem="7c1-e0-9St" firstAttribute="trailing" secondItem="P7O-Ou-oGU" secondAttribute="trailing" id="g3z-GR-Hbx"/>
-                            <constraint firstItem="P7O-Ou-oGU" firstAttribute="top" secondItem="hCB-eT-rx4" secondAttribute="bottom" id="odK-2t-ils"/>
+                            <constraint firstItem="NmS-Ca-cpY" firstAttribute="leading" secondItem="7c1-e0-9St" secondAttribute="leading" id="nTD-Ej-wh9"/>
+                            <constraint firstItem="NmS-Ca-cpY" firstAttribute="top" secondItem="hCB-eT-rx4" secondAttribute="bottom" id="rJt-q4-Y95"/>
                             <constraint firstItem="hCB-eT-rx4" firstAttribute="leading" secondItem="7c1-e0-9St" secondAttribute="leading" id="rMd-z6-kZq"/>
                         </constraints>
                         <viewLayoutGuide key="safeArea" id="7c1-e0-9St"/>
                     </view>
                     <navigationItem key="navigationItem" id="NKA-Hb-T1U"/>
                     <connections>
+                        <outlet property="HeadView" destination="NmS-Ca-cpY" id="8Fg-Sd-XKs"/>
                         <outlet property="NavBar" destination="nXu-vq-Dw6" id="qJr-id-ZEN"/>
+                        <outlet property="menuBtn" destination="Mvc-dA-zdl" id="vSW-B8-9Jb"/>
                         <outlet property="operationAllSelectButton" destination="YYs-nB-CIH" id="f5q-h8-8xP"/>
                         <outlet property="operationBackButton" destination="ftx-T7-q9i" id="Thd-PF-TWq"/>
                         <outlet property="rightButton" destination="cjZ-Pc-tj5" id="U6e-dG-hZt"/>
-                        <outlet property="tableView" destination="P7O-Ou-oGU" id="Cld-5f-LEV"/>
+                        <outlet property="searchConstant" destination="Z6j-uI-cmb" id="lyi-xQ-x6q"/>
                         <outlet property="titleL" destination="Jog-Lg-Zi7" id="Ivm-UI-SKz"/>
                     </connections>
                 </viewController>
                 <placeholder placeholderIdentifier="IBFirstResponder" id="QVI-Va-6oy" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
             </objects>
-            <point key="canvasLocation" x="-251" y="96"/>
+            <point key="canvasLocation" x="-252.17391304347828" y="95.380434782608702"/>
         </scene>
         <!--More AppVC-->
         <scene sceneID="mbp-NH-Hax">

+ 1 - 0
smartRhino/Project/VCModel/ChatMessage/Controller/ChatMsgListVC.h

@@ -11,6 +11,7 @@
 NS_ASSUME_NONNULL_BEGIN
 
 @interface ChatMsgListVC : BaseViewController
++(ChatMsgListVC *)initChatMsgListVC;
 @end
 
 NS_ASSUME_NONNULL_END

+ 180 - 172
smartRhino/Project/VCModel/ChatMessage/Controller/ChatMsgListVC.m

@@ -38,6 +38,7 @@
 #import "MailListDetailVC.h"
 #import "ChatJoinGroupVC.h"
 #import "TDQrJoinVC.h"
+#import "MyTDGroupView.h"
 
 static NSString *kConversation_IsRead = @"kHaveAtMessage";
 static int kConversation_AtYou = 1;
@@ -48,15 +49,16 @@ static int kConversation_AtAll = 2;
 @property (weak,nonatomic) IBOutlet UIButton *operationBackButton;
 @property (weak,nonatomic) IBOutlet UIButton *operationAllSelectButton;
 @property (weak, nonatomic) IBOutlet UILabel *titleL;
-
+@property (weak, nonatomic) IBOutlet UIButton *menuBtn;
 @property (weak,nonatomic) IBOutlet UIButton *rightButton;
-//@property (weak,nonatomic) IBOutlet UITableView *tableView;
-@property (strong,nonatomic)  UITableView *tableView;
+@property (weak, nonatomic) IBOutlet UIView  *HeadView;
+@property (strong,nonatomic)  UITableView    *tableView;
 //菜单列表数据源
 @property (strong,nonatomic) NSMutableArray *taskActionArray;
-
+@property (strong, nonatomic) MyTDGroupView      *SearchView;
 @property (nonatomic, strong) GHRefreshCollectionView *collectionView;
 @property (strong,nonatomic) NSMutableArray *collectionDataSource;
+@property (weak, nonatomic) IBOutlet NSLayoutConstraint *searchConstant;
 
 //界面操作状态参数
 @property (assign,nonatomic) OperationStateEnum operationStateEnum;
@@ -77,18 +79,25 @@ static int kConversation_AtAll = 2;
 @end
 
 @implementation ChatMsgListVC
-
++(ChatMsgListVC *)initChatMsgListVC{
+    ChatMsgListVC *controller = [StoryboardManager.shared.chatMsg instantiateViewControllerWithIdentifier:@"ChatMsgListVC"];
+    return controller;
+}
 - (void)viewWillAppear:(BOOL)animated{
     [super viewWillAppear:animated];
     [self headRefresh];
 }
-- (void)setTableRefresh
+- (void)addTableRefresh
 {
     WS(weakSelf);
     self.tableView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{
         [weakSelf headRefresh];
     }];
 }
+- (void)removeTableRefresh
+{
+    [self.tableView.mj_header removeFromSuperview];
+}
 - (void)headRefresh{
     [self.chatListIMArray removeAllObjects];
     [self getUnreadCount];
@@ -187,10 +196,9 @@ static int kConversation_AtAll = 2;
 
 - (void)viewDidLoad {
     [super viewDidLoad];
-    
     self.fd_prefersNavigationBarHidden = YES;
     self.view.backgroundColor = RGB(240, 239, 244);
-    [self setTableRefresh];
+
     [self initBottomBgView];
     [self changeToOperation:NO];
         
@@ -199,7 +207,16 @@ static int kConversation_AtAll = 2;
     [[EMConversationHelper shared] addDelegate:self];
 
 //    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleGroupSubjectUpdated:) name:GROUP_SUBJECT_UPDATED object:nil];
-
+    [self.HeadView addSubview:self.SearchView];
+    [self.SearchView  mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.edges.mas_offset(UIEdgeInsetsZero);
+    }];
+    WS(weakSelf);
+    [self.SearchView.button setAction:^{
+        ChatMsgTopSearchVC *vc = [[ChatMsgTopSearchVC alloc] init];
+        [weakSelf.navigationController pushViewController:vc animated:YES];
+    }];
+    
     if (@available(iOS 11.0, *)) {
         self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
     } else {
@@ -208,7 +225,7 @@ static int kConversation_AtAll = 2;
     [self.view addSubview:self.tableView];
     [self.tableView mas_makeConstraints:^(MASConstraintMaker *make) {
         make.left.right.mas_equalTo(self.view);
-        make.top.mas_equalTo(self.NavBar.mas_bottom);
+        make.top.mas_equalTo(self.HeadView.mas_bottom);
         if (@available(iOS 11.0, *)) {
             make.bottom.equalTo(self.view.mas_safeAreaLayoutGuideBottom);
         } else {
@@ -218,10 +235,21 @@ static int kConversation_AtAll = 2;
     self.tableView.delegate = self;
     self.tableView.dataSource = self;
     self.tableView.backgroundColor = [UIColor clearColor];
+
+    [self.operationBackButton setAction:^{
+        if(weakSelf.operationStateEnum == OperationStateEnum1){
+            [weakSelf changeSelectStatus];
+            [weakSelf changeToOperation:NO];
+        }else if (weakSelf.operationStateEnum == OperationStateEnum2){
+            [weakSelf userDidMove:NO isEdit:YES];
+        }else{
+            [super backAction:self.operationBackButton];
+        }
+    }];
     
     [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(pushTDGroupController:) name:PUSHTDGROUPCOTROLLER object:nil];
     [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(pushEMChatViewController:) name:PUSHEMCHATVIEWCOTROLLER object:nil];
-    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(pushSubViewController:) name:DRAWERPUSHVC object:nil];
+//    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(pushSubViewController:) name:DRAWERPUSHVC object:nil];
 
     [self resetRightBtnAction:YES];
 }
@@ -364,9 +392,9 @@ static int kConversation_AtAll = 2;
         }
     }
 }
-- (BOOL)hidesBottomBarWhenPushed{
-    return NO;
-}
+//- (BOOL)hidesBottomBarWhenPushed{
+//    return NO;
+//}
 //- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(nonnull NSIndexPath *)indexPath
 //{
 //    return YES;
@@ -378,7 +406,6 @@ static int kConversation_AtAll = 2;
     WS(weakSelf);
     ChatMsgListImModel * model = weakSelf.chatListIMArray[indexPath.row];
     if(self.operationStateEnum == OperationStateEnum0){
-        if(indexPath.section >= 3){
             switch (model.AttributeValue) {
                 case 2:
                 {
@@ -450,7 +477,6 @@ static int kConversation_AtAll = 2;
                 }
                     break;
             }
-        }
     }
     UISwipeActionsConfiguration *actions = [UISwipeActionsConfiguration configurationWithActions:@[]];
     actions.performsFirstActionWithFullSwipe = NO;
@@ -461,7 +487,6 @@ static int kConversation_AtAll = 2;
     WS(weakSelf);
     ChatMsgListImModel * model = weakSelf.chatListIMArray[indexPath.row];
     if(self.operationStateEnum == OperationStateEnum0){
-        if(indexPath.section >= 3){
             switch (model.AttributeValue) {
                 case 2:
                 {
@@ -521,7 +546,6 @@ static int kConversation_AtAll = 2;
                 }
                     break;
             }
-        }
     }
     return @[];
 }
@@ -616,7 +640,7 @@ static int kConversation_AtAll = 2;
                 weakSelf.tableView.backgroundColor = [UIColor clearColor];
                 [weakSelf.tableView mas_makeConstraints:^(MASConstraintMaker *make) {
                     make.left.right.mas_equalTo(weakSelf.view);
-                    make.top.mas_equalTo(weakSelf.NavBar.mas_bottom);
+                    make.top.mas_equalTo(weakSelf.HeadView.mas_bottom);
                     if (@available(iOS 11.0, *)) {
                         make.bottom.equalTo(weakSelf.view.mas_safeAreaLayoutGuideBottom);
                     } else {
@@ -631,111 +655,97 @@ static int kConversation_AtAll = 2;
     }];
 }
 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
-    if (self.chatListIMArray.count > 0) {
-        return 4;
-    }
-    return 3;
+    return 1;
 }
 
 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
-    switch (section) {
-        case 0:{
-            if(self.operationStateEnum == OperationStateEnum1){
-                return 0;
-            }
-            return 1;
-        }break;
-        case 1:{
-            if(self.operationStateEnum == OperationStateEnum1){
-                return 0;
-            }
-            return 1;
-        }break;
-        case 2:{
-            if(self.operationStateEnum == OperationStateEnum0){
-                return 0;
-            }
-            return 0;
-        }break;
-        default:{
-            return self.chatListIMArray.count;
-        }break;
-    }
-    return 0;
+    return self.chatListIMArray.count;
 }
 
 
 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
     ChatMsgListImModel * model = self.chatListIMArray[indexPath.row];
-
-    switch (indexPath.section) {
-        case 0:{
-            return [ChatMsgListCell configCell0Height];
-        }break;
-        case 1:{
-            return [ChatMsgListCell configCell1Height];
-        }break;
-        case 2:{
-            return [ChatMsgListCell configCell4Height];
-        }break;
-        default:{
-            switch (model.AttributeValue) {
-                case 2:
-                {
-                    return [ChatMsgListCell configCell2Height];
-                }
-                    break;
-                default:
-                {
-                    return [ChatMsgListCell configCell3Height];
-                }
-                    break;
-            }
-        }break;
+//
+//    switch (indexPath.section) {
+//        case 0:{
+//            return [ChatMsgListCell configCell0Height];
+//        }break;
+//        case 1:{
+//            return [ChatMsgListCell configCell1Height];
+//        }break;
+//        case 2:{
+//            return [ChatMsgListCell configCell4Height];
+//        }break;
+//        default:{
+//            switch (model.AttributeValue) {
+//                case 2:
+//                {
+//                    return [ChatMsgListCell configCell2Height];
+//                }
+//                    break;
+//                default:
+//                {
+//                    return [ChatMsgListCell configCell3Height];
+//                }
+//                    break;
+//            }
+//        }break;
+//    }
+    switch (model.AttributeValue) {
+        case 2:
+        {
+            return [ChatMsgListCell configCell2Height];
+        }
+            break;
+        default:
+        {
+            return [ChatMsgListCell configCell3Height];
+        }
+            break;
     }
 }
  
 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
     WS(weakSelf);
-    switch (indexPath.section) {
-        case 0:{
-            ChatMsgListCell *cell = [ChatMsgListCell configCell0:tableView indexPath:indexPath];
-            if(self.operationStateEnum == OperationStateEnum0){
-                WS(weakSelf);
-                [cell.cell0SearchBtn setAction:^{
-                    ChatMsgTopSearchVC *vc = [[ChatMsgTopSearchVC alloc] init];
-                    [weakSelf.navigationController pushViewController:vc animated:YES];
-                }];
-            }else{
-                cell.cell0MengCengView.hidden = NO;
-            }
-            return cell;
-        }break;
-        case 1:{
-            ChatMsgListCell *cell = [ChatMsgListCell configCell1:tableView indexPath:indexPath];
-            [cell.cell1ContentBgView addSubview:self.collectionView];
-//            self.collectionView.frame = CGRectMake(0, 0, SCREEN_WIDTH, cell.cell1ContentBgView.height);
-
-            self.collectionView.frame = CGRectMake(0, 0, (SCREEN_WIDTH - 15 - 7), cell.cell1ContentBgView.height);
-            [self.collectionView reloadData];
-            if(self.operationStateEnum == OperationStateEnum0){
-                WS(weakSelf);
-                [cell.cell1RightIntoBtn setAction:^{
-                    MoreAppVC *vc = [MoreAppVC initMoreAppVC];
-                    vc.loadMenuBlock = ^{
-                        [weakSelf initCollectionData];
-                        [weakSelf.tableView reloadData];
-                    };
-                    [weakSelf.navigationController pushViewController:vc animated:YES];
-                }];
-            }
-            return cell;
-        }break;
-        case 2:{
-            ChatMsgListCell *cell = [ChatMsgListCell configCell4:tableView indexPath:indexPath];
-            return cell;
-        }break;
-        default:{
+//    switch (indexPath.section) {
+//        case 0:{
+//            ChatMsgListCell *cell = [ChatMsgListCell configCell0:tableView indexPath:indexPath];
+//            if(self.operationStateEnum == OperationStateEnum0){
+//                WS(weakSelf);
+//                [cell.cell0SearchBtn setAction:^{
+//                    ChatMsgTopSearchVC *vc = [[ChatMsgTopSearchVC alloc] init];
+//                    [weakSelf.navigationController pushViewController:vc animated:YES];
+//                }];
+//            }else{
+//                cell.cell0MengCengView.hidden = NO;
+//            }
+//            return cell;
+//        }break;
+//        case 1:{
+//            ChatMsgListCell *cell = [ChatMsgListCell configCell1:tableView indexPath:indexPath];
+//            [cell.cell1ContentBgView addSubview:self.collectionView];
+////            self.collectionView.frame = CGRectMake(0, 0, SCREEN_WIDTH, cell.cell1ContentBgView.height);
+//
+//            self.collectionView.frame = CGRectMake(0, 0, (SCREEN_WIDTH - 15 - 7), cell.cell1ContentBgView.height);
+//            [self.collectionView reloadData];
+//            if(self.operationStateEnum == OperationStateEnum0){
+//                WS(weakSelf);
+//                [cell.cell1RightIntoBtn setAction:^{
+//                    MoreAppVC *vc = [MoreAppVC initMoreAppVC];
+//                    vc.loadMenuBlock = ^{
+//                        [weakSelf initCollectionData];
+//                        [weakSelf.tableView reloadData];
+//                    };
+//                    [weakSelf.navigationController pushViewController:vc animated:YES];
+//                }];
+//            }
+//            return cell;
+//        }break;
+//        case 2:{
+//            ChatMsgListCell *cell = [ChatMsgListCell configCell4:tableView indexPath:indexPath];
+//            return cell;
+//        }break;
+//        default:{
             ChatMsgListImModel * model = [self.chatListIMArray objectAtIndex:indexPath.row];
             switch (model.AttributeValue) {
                 case 2:
@@ -762,8 +772,7 @@ static int kConversation_AtAll = 2;
                         [self checkMoveBtnEnable];
                         [self.operationAllSelectButton setTitle:self.isAllselect ? @"取消全选": @"全选" forState:UIControlStateNormal];
                         return cell;
-                    }
-                    else if (self.operationStateEnum == OperationStateEnum2){
+                    } else {///if (self.operationStateEnum == OperationStateEnum2)
                         cell.cell2TimeLabel.text = @"进入";
                         cell.cell2TitleLabel.text = model.FolderName;
                         cell.cell2isTop.hidden = !model.IsTop;
@@ -779,8 +788,7 @@ static int kConversation_AtAll = 2;
                         cell.IsTopView.hidden = YES;
                         [cell setCell3DataWithModel:model];
                         return cell;
-                    }
-                    else if (self.operationStateEnum == OperationStateEnum1){
+                    }else if (self.operationStateEnum == OperationStateEnum1){
                         ChatMsgListCell *cell = [ChatMsgListCell configCell5:tableView indexPath:indexPath];
                         self.isAllselect = [self checkChatListArray];
                         [self checkMoveBtnEnable];
@@ -796,8 +804,7 @@ static int kConversation_AtAll = 2;
                             });
                         }];
                         return cell;
-                    }
-                    else if (self.operationStateEnum == OperationStateEnum2){
+                    }else{///(self.operationStateEnum == OperationStateEnum2)
                         ChatMsgListCell *cell = [ChatMsgListCell configCell3:tableView indexPath:indexPath];
                         cell.cell3MengCengView.hidden = NO;
                         [cell setCell3DataWithModel:model];
@@ -806,14 +813,14 @@ static int kConversation_AtAll = 2;
                 }
                     break;
             }
-        }break;
-    }
-    return nil;
+//        }break;
+//    }
+//    return nil;
 }
 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
         [tableView deselectRowAtIndexPath:indexPath animated:YES];
         ChatMsgListImModel *model = [self.chatListIMArray objectAtIndex:indexPath.row];
-        if(indexPath.section >= 3) {
+//        if(indexPath.section >= 3) {
             switch (model.AttributeValue) {
                 case 2:
                 {
@@ -850,7 +857,7 @@ static int kConversation_AtAll = 2;
                 }
                     break;
             }
-    }
+//    }
 }
 - (void)checkMoveBtnEnable
 {
@@ -1117,7 +1124,7 @@ static int kConversation_AtAll = 2;
         MoreAppInfoModel * model = [self.collectionDataSource objectAtIndex:indexPath.item];
          switch (model.type) {
              case ChatMenuNoticeType:{
-                 [self pushChatMsgNoticeVC];
+//                 [self pushChatMsgNoticeVC];
              }break;
              case ChatMenuZhanXinType:{
                  TDInterLeterHomeViewController *vc = [TDInterLeterHomeViewController initChatMsgNoticeVC];
@@ -1314,21 +1321,16 @@ static int kConversation_AtAll = 2;
 #pragma mark 批量操作与正常操作界面切换
 -(void)changeToOperation:(BOOL)operation{
     if(operation){
+        [self removeTableRefresh];
         self.rightButton.hidden = YES;
         self.titleL.text = @"批量操作";
         //默认操作状态为批量编辑状态
         self.operationStateEnum = OperationStateEnum1;
-        self.operationBackButton.hidden = NO;
         self.operationAllSelectButton.hidden = NO;
+        self.menuBtn.hidden = YES;
+        self.HeadView.hidden = YES;
+        self.searchConstant.constant = 0.f;
         WS(weakSelf);
-        [self.operationBackButton setAction:^{
-            if(weakSelf.operationStateEnum == OperationStateEnum1){
-                [weakSelf changeSelectStatus];
-                [weakSelf changeToOperation:NO];
-            }else if (weakSelf.operationStateEnum == OperationStateEnum2){
-                [weakSelf userDidMove:NO isEdit:YES];
-            }
-        }];
         [self.operationAllSelectButton setAction:^{
             NSLog(@"全选");
             for (ChatMsgListImModel *model in weakSelf.chatListIMArray) {
@@ -1339,13 +1341,15 @@ static int kConversation_AtAll = 2;
         self.tabBarController.tabBar.hidden = YES;
         self.operationBottomBgView.hidden = NO;
     }else{
-        self.titleL.text = @"信源";
+        [self addTableRefresh];
+        self.titleL.text = @"私信";
         self.rightButton.hidden = NO;
+        self.HeadView.hidden = NO;
+        self.searchConstant.constant = 50.f;
         //默认操作状态为无状态
         self.operationStateEnum = OperationStateEnum0;
-        self.operationBackButton.hidden = YES;
         self.operationAllSelectButton.hidden = YES;
-        
+        self.menuBtn.hidden = NO;
         self.tabBarController.tabBar.hidden = NO;
          
         self.operationBottomBgView.hidden = YES;
@@ -1487,6 +1491,13 @@ static int kConversation_AtAll = 2;
     }
     return _dataArray;
 }
+- (MyTDGroupView *)SearchView
+{
+    if (!_SearchView) {
+        _SearchView = [[MyTDGroupView alloc] init];
+    }
+    return _SearchView;
+}
 - (void)getChatRecord{
     
 }
@@ -1518,43 +1529,40 @@ static int kConversation_AtAll = 2;
     vc.pushDict = notification.userInfo;
     [self.navigationController pushViewController:vc animated:NO];
 }
-#pragma mark - 接收Drawer通知跳转到对应的子页面
-- (void)pushSubViewController:(NSNotification *)notification
-{
-    ///@"站内信", @"通知", @"收藏",@"笔记", @"设置"
-    NSInteger index = [[notification.userInfo objectForKey:VCINDEX] integerValue];
-    switch (index) {
-        case 0:
-        {
-            [self pushInterLeterVC];
-        }
-            break;
-        case 1:
-        {
-            [self pushChatMsgNoticeVC];
-        }
-            break;
-        default:
-            break;
-    }
-}
-#pragma mark - 跳转到站内信、通知页面
-- (void)pushInterLeterVC
-{
-    TDInterLeterHomeViewController *vc = [TDInterLeterHomeViewController initChatMsgNoticeVC];
-    vc.interLeterFolderId = 0;
-    vc.hidesBottomBarWhenPushed = YES;
-    [self.navigationController pushViewController:vc animated:YES];
-}
-- (void)pushChatMsgNoticeVC
-{
-    ChatMsgNoticeVC *vc = [ChatMsgNoticeVC initChatMsgNoticeVC];
-    vc.fromModular = SuperPageTypeChatMsgNotice1;
-    vc.NoticeFolderId = 0;
-    vc.isHome = YES;
-    vc.hidesBottomBarWhenPushed = YES;
-    [self.navigationController pushViewController:vc animated:YES];
-}
+//#pragma mark - 接收Drawer通知跳转到对应的子页面
+//- (void)pushSubViewController:(NSNotification *)notification
+//{
+//    ///@"站内信", @"通知", @"收藏",@"笔记", @"设置"
+//    NSInteger index = [[notification.userInfo objectForKey:VCINDEX] integerValue];
+//    switch (index) {
+//        case 0:
+//        {
+//            [self pushInterLeterVC];
+//        }
+//            break;
+//        case 1:
+//        {
+//            [self pushChatMsgNoticeVC];
+//        }
+//            break;
+//        default:
+//            break;
+//    }
+//}
+//#pragma mark - 跳转到站内信、通知页面
+//- (void)pushInterLeterVC
+//{
+//    TDInterLeterHomeViewController *vc = [TDInterLeterHomeViewController initChatMsgNoticeVC];
+//    vc.interLeterFolderId = 0;
+//    vc.hidesBottomBarWhenPushed = YES;
+//    [self.navigationController pushViewController:vc animated:YES];
+//}
+//- (void)pushChatMsgNoticeVC
+//{
+//    ChatMsgListVC *vc = [ChatMsgListVC initChatMsgListVC];
+//    vc.hidesBottomBarWhenPushed = YES;
+//    [self.navigationController pushViewController:vc animated:YES];
+//}
 - (void)dealloc
 {
     [[EMClient sharedClient].chatManager removeDelegate:self];

+ 9 - 25
smartRhino/Project/VCModel/ChatMessage/Controller/MyTDGroup/Cell/TDGroupInfoDetailCell.xib

@@ -17,6 +17,9 @@
                 <rect key="frame" x="0.0" y="0.0" width="320" height="65"/>
                 <autoresizingMask key="autoresizingMask"/>
                 <subviews>
+                    <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="my_qrcode_code_icon" translatesAutoresizingMaskIntoConstraints="NO" id="1vv-hL-yQB">
+                        <rect key="frame" x="287" y="23.5" width="18" height="18"/>
+                    </imageView>
                     <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="jpS-G8-vDC">
                         <rect key="frame" x="15" y="11" width="43" height="43"/>
                         <constraints>
@@ -30,15 +33,8 @@
                             <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
                         </userDefinedRuntimeAttributes>
                     </imageView>
-                    <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="chatmsg_rightArrow_icon" translatesAutoresizingMaskIntoConstraints="NO" id="fPV-sw-j87">
-                        <rect key="frame" x="298" y="25.5" width="7.5" height="14"/>
-                        <constraints>
-                            <constraint firstAttribute="height" constant="14" id="QN9-S5-NX9"/>
-                            <constraint firstAttribute="width" constant="7.5" id="g8h-to-BOP"/>
-                        </constraints>
-                    </imageView>
                     <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="iYf-IJ-QAY">
-                        <rect key="frame" x="70" y="24" width="213" height="17"/>
+                        <rect key="frame" x="70" y="24" width="42" height="17"/>
                         <constraints>
                             <constraint firstAttribute="height" constant="17" id="oyF-LM-b2A"/>
                         </constraints>
@@ -47,7 +43,7 @@
                         <nil key="highlightedColor"/>
                     </label>
                     <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="6zT-tH-sdR">
-                        <rect key="frame" x="58" y="64.5" width="262" height="0.5"/>
+                        <rect key="frame" x="0.0" y="64.5" width="320" height="0.5"/>
                         <color key="backgroundColor" red="0.89803921568627454" green="0.89803921568627454" blue="0.89803921568627454" alpha="1" colorSpace="calibratedRGB"/>
                         <constraints>
                             <constraint firstAttribute="height" constant="0.5" id="GAY-mI-UYI"/>
@@ -58,16 +54,15 @@
                     </label>
                 </subviews>
                 <constraints>
+                    <constraint firstItem="1vv-hL-yQB" firstAttribute="centerY" secondItem="H2p-sc-9uM" secondAttribute="centerY" id="51i-EI-cgY"/>
                     <constraint firstAttribute="trailing" secondItem="6zT-tH-sdR" secondAttribute="trailing" id="Afg-k2-dwU"/>
-                    <constraint firstItem="6zT-tH-sdR" firstAttribute="leading" secondItem="jpS-G8-vDC" secondAttribute="trailing" id="Bxt-Jx-wee"/>
-                    <constraint firstItem="fPV-sw-j87" firstAttribute="centerY" secondItem="H2p-sc-9uM" secondAttribute="centerY" id="FdT-Mx-Ngt"/>
+                    <constraint firstAttribute="trailing" secondItem="1vv-hL-yQB" secondAttribute="trailing" constant="15" id="T5t-cN-HLB"/>
                     <constraint firstItem="jpS-G8-vDC" firstAttribute="centerY" secondItem="H2p-sc-9uM" secondAttribute="centerY" id="Tai-yJ-eiX"/>
                     <constraint firstItem="iYf-IJ-QAY" firstAttribute="leading" secondItem="jpS-G8-vDC" secondAttribute="trailing" constant="12" id="W4K-xu-pfg"/>
                     <constraint firstAttribute="bottom" secondItem="6zT-tH-sdR" secondAttribute="bottom" id="cls-Vr-M0U"/>
+                    <constraint firstItem="6zT-tH-sdR" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" id="d3S-Cn-4eF"/>
                     <constraint firstItem="iYf-IJ-QAY" firstAttribute="centerY" secondItem="H2p-sc-9uM" secondAttribute="centerY" id="efR-Dc-UG7"/>
-                    <constraint firstAttribute="trailing" secondItem="fPV-sw-j87" secondAttribute="trailing" constant="14.5" id="hYE-l5-H5R"/>
                     <constraint firstItem="jpS-G8-vDC" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="15" id="uOL-FI-G3A"/>
-                    <constraint firstItem="fPV-sw-j87" firstAttribute="leading" secondItem="iYf-IJ-QAY" secondAttribute="trailing" constant="15" id="yvh-a5-hwo"/>
                 </constraints>
             </tableViewCellContentView>
             <viewLayoutGuide key="safeArea" id="aW0-zy-SZf"/>
@@ -100,15 +95,6 @@
                             <constraint firstAttribute="height" constant="14.5" id="Kns-Hw-6aH"/>
                         </constraints>
                     </imageView>
-                    <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="my_qrcode_code_icon" translatesAutoresizingMaskIntoConstraints="NO" id="R2h-jd-Gpq">
-                        <rect key="frame" x="273" y="23.5" width="18" height="18"/>
-                        <constraints>
-                            <constraint firstAttribute="width" relation="greaterThanOrEqual" constant="18" id="9Fj-2e-icE"/>
-                            <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="18" id="Jci-QD-7tK"/>
-                            <constraint firstAttribute="width" constant="18" id="TsN-xd-uSW"/>
-                            <constraint firstAttribute="height" constant="18" id="uMV-kF-Ih2"/>
-                        </constraints>
-                    </imageView>
                     <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zb5-cS-erR">
                         <rect key="frame" x="0.0" y="64.5" width="320" height="0.5"/>
                         <color key="backgroundColor" red="0.8980392157" green="0.8980392157" blue="0.8980392157" alpha="1" colorSpace="calibratedRGB"/>
@@ -125,8 +111,6 @@
                     <constraint firstItem="zb5-cS-erR" firstAttribute="leading" secondItem="ruO-kr-hzR" secondAttribute="leading" id="Gwo-Hp-c5d"/>
                     <constraint firstItem="GS3-Ox-3BP" firstAttribute="leading" secondItem="ruO-kr-hzR" secondAttribute="leading" constant="15" id="HM7-1C-o5n"/>
                     <constraint firstAttribute="bottom" secondItem="zb5-cS-erR" secondAttribute="bottom" id="HgY-Rh-16R"/>
-                    <constraint firstItem="pWs-rh-7ci" firstAttribute="leading" secondItem="R2h-jd-Gpq" secondAttribute="trailing" constant="6.5" id="IW7-g6-b2e"/>
-                    <constraint firstItem="R2h-jd-Gpq" firstAttribute="centerY" secondItem="ruO-kr-hzR" secondAttribute="centerY" id="JJ8-S0-85H"/>
                     <constraint firstAttribute="trailing" secondItem="pWs-rh-7ci" secondAttribute="trailing" constant="15" id="OET-bZ-4Y9"/>
                     <constraint firstAttribute="trailing" secondItem="zb5-cS-erR" secondAttribute="trailing" id="tsc-ia-vdf"/>
                     <constraint firstItem="pWs-rh-7ci" firstAttribute="centerY" secondItem="ruO-kr-hzR" secondAttribute="centerY" id="xGv-bi-Rm8"/>
@@ -337,7 +321,7 @@
     </objects>
     <resources>
         <image name="add" width="21" height="21"/>
-        <image name="chatmsg_rightArrow_icon" width="7" height="13.5"/>
+        <image name="chatmsg_rightArrow_icon" width="6.5" height="12"/>
         <image name="my_qrcode_code_icon" width="18" height="18"/>
     </resources>
 </document>

+ 19 - 0
smartRhino/Project/VCModel/ChatMessage/Controller/MyTDGroup/Cell/TDGroupLabelCell.h

@@ -0,0 +1,19 @@
+//
+//  TDGroupLabelCell.h
+//  smartRhino
+//
+//  Created by niuzhen on 2020/5/8.
+//  Copyright © 2020 tederen. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface TDGroupLabelCell : UICollectionViewCell
+@property (weak, nonatomic) IBOutlet UILabel *titleL;
+@property (weak, nonatomic) IBOutlet UIButton *deleteBtn;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 18 - 0
smartRhino/Project/VCModel/ChatMessage/Controller/MyTDGroup/Cell/TDGroupLabelCell.m

@@ -0,0 +1,18 @@
+//
+//  TDGroupLabelCell.m
+//  smartRhino
+//
+//  Created by niuzhen on 2020/5/8.
+//  Copyright © 2020 tederen. All rights reserved.
+//
+
+#import "TDGroupLabelCell.h"
+
+@implementation TDGroupLabelCell
+
+- (void)awakeFromNib {
+    [super awakeFromNib];
+    self.titleL.layer.cornerRadius = 8.f;
+    self.titleL.layer.masksToBounds = YES;
+}
+@end

+ 60 - 0
smartRhino/Project/VCModel/ChatMessage/Controller/MyTDGroup/Cell/TDGroupLabelCell.xib

@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="15705" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+    <device id="retina6_1" orientation="portrait" appearance="light"/>
+    <dependencies>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15706"/>
+        <capability name="Safe area layout guides" minToolsVersion="9.0"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
+        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
+        <collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" id="gTV-IL-0wX" customClass="TDGroupLabelCell">
+            <rect key="frame" x="0.0" y="0.0" width="173" height="52"/>
+            <autoresizingMask key="autoresizingMask"/>
+            <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
+                <rect key="frame" x="0.0" y="0.0" width="173" height="52"/>
+                <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+                <subviews>
+                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="5Wk-am-QQT">
+                        <rect key="frame" x="0.0" y="6" width="167" height="52"/>
+                        <color key="backgroundColor" red="0.88235294117647056" green="0.94901960784313721" blue="0.99215686274509807" alpha="1" colorSpace="calibratedRGB"/>
+                        <constraints>
+                            <constraint firstAttribute="height" constant="52" id="y5f-lA-24g"/>
+                        </constraints>
+                        <fontDescription key="fontDescription" type="system" pointSize="16"/>
+                        <color key="textColor" red="0.039215686274509803" green="0.039215686274509803" blue="0.039215686274509803" alpha="1" colorSpace="calibratedRGB"/>
+                        <nil key="highlightedColor"/>
+                    </label>
+                    <button hidden="YES" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="right" contentVerticalAlignment="top" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="cHS-h2-9Hg">
+                        <rect key="frame" x="143" y="0.0" width="30" height="30"/>
+                        <constraints>
+                            <constraint firstAttribute="height" constant="30" id="UsV-5B-7Z2"/>
+                            <constraint firstAttribute="width" constant="30" id="XPi-v3-rDQ"/>
+                        </constraints>
+                        <state key="normal" image="Group_delete"/>
+                    </button>
+                </subviews>
+            </view>
+            <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+            <constraints>
+                <constraint firstItem="5Wk-am-QQT" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" constant="6" id="Jdv-di-izV"/>
+                <constraint firstAttribute="trailing" secondItem="5Wk-am-QQT" secondAttribute="trailing" constant="6" id="Qkd-8O-S68"/>
+                <constraint firstAttribute="trailing" secondItem="cHS-h2-9Hg" secondAttribute="trailing" id="hty-wg-99V"/>
+                <constraint firstItem="cHS-h2-9Hg" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" id="hzG-Y4-Wpu"/>
+                <constraint firstItem="5Wk-am-QQT" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" id="tdA-10-YGc"/>
+            </constraints>
+            <viewLayoutGuide key="safeArea" id="SEy-5g-ep8"/>
+            <size key="customSize" width="173" height="79"/>
+            <connections>
+                <outlet property="deleteBtn" destination="cHS-h2-9Hg" id="ze2-F1-Qei"/>
+                <outlet property="titleL" destination="5Wk-am-QQT" id="Cjo-Y7-hjG"/>
+            </connections>
+            <point key="canvasLocation" x="226.81159420289856" y="149.33035714285714"/>
+        </collectionViewCell>
+    </objects>
+    <resources>
+        <image name="Group_delete" width="16.5" height="16.5"/>
+    </resources>
+</document>

+ 401 - 2
smartRhino/Project/VCModel/ChatMessage/Controller/MyTDGroup/TDGroup.storyboard

@@ -5,6 +5,7 @@
         <deployment identifier="iOS"/>
         <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15706"/>
         <capability name="Safe area layout guides" minToolsVersion="9.0"/>
+        <capability name="collection view cell content view" minToolsVersion="11.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <scenes>
@@ -830,7 +831,7 @@
                                 </connections>
                             </view>
                             <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="grouped" separatorStyle="none" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="18" sectionFooterHeight="18" translatesAutoresizingMaskIntoConstraints="NO" id="uB9-gw-5MY">
-                                <rect key="frame" x="0.0" y="64" width="414" height="602"/>
+                                <rect key="frame" x="0.0" y="114" width="414" height="552"/>
                                 <color key="backgroundColor" red="0.94117647058823528" green="0.93725490196078431" blue="0.95686274509803915" alpha="1" colorSpace="calibratedRGB"/>
                             </tableView>
                             <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="FlT-rL-ntK">
@@ -854,14 +855,22 @@
                                     <constraint firstAttribute="height" constant="5" id="Ewg-4e-dRP"/>
                                 </constraints>
                             </view>
+                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="AaD-lZ-u6c">
+                                <rect key="frame" x="0.0" y="64" width="414" height="50"/>
+                                <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                <constraints>
+                                    <constraint firstAttribute="height" constant="50" id="sqa-yy-9sg"/>
+                                </constraints>
+                            </view>
                         </subviews>
                         <color key="backgroundColor" red="0.94117647058823528" green="0.93725490196078431" blue="0.95686274509803915" alpha="1" colorSpace="calibratedRGB"/>
                         <constraints>
                             <constraint firstItem="9Ki-wR-xY5" firstAttribute="leading" secondItem="fmn-cD-hKQ" secondAttribute="leading" id="3lM-4L-SIA"/>
                             <constraint firstItem="7ol-Ug-g4o" firstAttribute="top" secondItem="uB9-gw-5MY" secondAttribute="bottom" id="4OG-Wf-SQm"/>
                             <constraint firstItem="uB9-gw-5MY" firstAttribute="leading" secondItem="fmn-cD-hKQ" secondAttribute="leading" id="6XP-q7-zlr"/>
+                            <constraint firstItem="AaD-lZ-u6c" firstAttribute="top" secondItem="9Ki-wR-xY5" secondAttribute="bottom" id="Ejl-jm-INi"/>
                             <constraint firstItem="7ol-Ug-g4o" firstAttribute="leading" secondItem="fmn-cD-hKQ" secondAttribute="leading" id="F4i-xd-CDd"/>
-                            <constraint firstItem="uB9-gw-5MY" firstAttribute="top" secondItem="9Ki-wR-xY5" secondAttribute="bottom" id="FN5-cT-GYd"/>
+                            <constraint firstItem="fmn-cD-hKQ" firstAttribute="trailing" secondItem="AaD-lZ-u6c" secondAttribute="trailing" id="KOn-wm-uFj"/>
                             <constraint firstItem="9Ki-wR-xY5" firstAttribute="top" secondItem="vVz-Du-mYm" secondAttribute="top" id="Qp1-Zo-v5n"/>
                             <constraint firstItem="FlT-rL-ntK" firstAttribute="top" secondItem="7ol-Ug-g4o" secondAttribute="bottom" id="asR-bs-0G2"/>
                             <constraint firstItem="fmn-cD-hKQ" firstAttribute="bottom" secondItem="FlT-rL-ntK" secondAttribute="bottom" id="ei7-IB-ujh"/>
@@ -869,12 +878,15 @@
                             <constraint firstItem="fmn-cD-hKQ" firstAttribute="trailing" secondItem="7ol-Ug-g4o" secondAttribute="trailing" id="lX7-mf-Kuk"/>
                             <constraint firstItem="9Ki-wR-xY5" firstAttribute="trailing" secondItem="fmn-cD-hKQ" secondAttribute="trailing" id="q12-Ng-J2E"/>
                             <constraint firstItem="uB9-gw-5MY" firstAttribute="trailing" secondItem="fmn-cD-hKQ" secondAttribute="trailing" id="qAv-60-CQx"/>
+                            <constraint firstItem="AaD-lZ-u6c" firstAttribute="leading" secondItem="fmn-cD-hKQ" secondAttribute="leading" id="qkI-S7-35X"/>
+                            <constraint firstItem="uB9-gw-5MY" firstAttribute="top" secondItem="AaD-lZ-u6c" secondAttribute="bottom" id="scD-Uu-jOP"/>
                             <constraint firstItem="FlT-rL-ntK" firstAttribute="leading" secondItem="fmn-cD-hKQ" secondAttribute="leading" id="vWB-Yf-fhW"/>
                         </constraints>
                         <viewLayoutGuide key="safeArea" id="fmn-cD-hKQ"/>
                     </view>
                     <navigationItem key="navigationItem" id="6Mf-ZU-edG"/>
                     <connections>
+                        <outlet property="HeadView" destination="AaD-lZ-u6c" id="RQc-tm-vSX"/>
                         <outlet property="tableView" destination="uB9-gw-5MY" id="nDn-gO-ZIp"/>
                         <outlet property="titleL" destination="KAn-TU-jFe" id="1W7-AK-pD9"/>
                     </connections>
@@ -883,8 +895,395 @@
             </objects>
             <point key="canvasLocation" x="-204.34782608695653" y="778.53260869565224"/>
         </scene>
+        <!--Group RoleVC-->
+        <scene sceneID="EhR-Wc-OUv">
+            <objects>
+                <viewController storyboardIdentifier="TDGroupRoleVC" id="F0K-nO-szH" customClass="TDGroupRoleVC" sceneMemberID="viewController">
+                    <view key="view" contentMode="scaleToFill" id="Yfe-m7-J8z">
+                        <rect key="frame" x="0.0" y="0.0" width="414" height="736"/>
+                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                        <subviews>
+                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="G7J-7g-5Ed" customClass="WQNavigationBar">
+                                <rect key="frame" x="0.0" y="0.0" width="414" height="64"/>
+                                <subviews>
+                                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="CVW-8o-Jc8">
+                                        <rect key="frame" x="0.0" y="63.666666666666664" width="414" height="0.3333333333333357"/>
+                                        <color key="backgroundColor" red="0.93333333330000001" green="0.93333333330000001" blue="0.93333333330000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                        <constraints>
+                                            <constraint firstAttribute="height" constant="0.5" id="Szu-On-Hw1"/>
+                                        </constraints>
+                                    </view>
+                                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="gqn-1s-8z3">
+                                        <rect key="frame" x="0.0" y="20" width="414" height="44"/>
+                                        <subviews>
+                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="fYY-xD-XBG">
+                                                <rect key="frame" x="0.0" y="0.0" width="50" height="44"/>
+                                                <constraints>
+                                                    <constraint firstAttribute="height" constant="44" id="8Jo-ag-xcM"/>
+                                                    <constraint firstAttribute="width" constant="50" id="ETU-6O-Mv3"/>
+                                                </constraints>
+                                                <state key="normal" image="back_black_icon"/>
+                                                <connections>
+                                                    <action selector="backAction:" destination="F0K-nO-szH" eventType="touchUpInside" id="dUF-5f-qUb"/>
+                                                </connections>
+                                            </button>
+                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Rex-PE-4gJ">
+                                                <rect key="frame" x="50" y="0.0" width="35" height="44"/>
+                                                <constraints>
+                                                    <constraint firstAttribute="height" constant="44" id="BhC-Zo-8QU"/>
+                                                    <constraint firstAttribute="width" constant="35" id="CsX-0J-hqo"/>
+                                                </constraints>
+                                                <state key="normal" image="menu_black_icon"/>
+                                                <connections>
+                                                    <action selector="menuAction:" destination="F0K-nO-szH" eventType="touchUpInside" id="LSY-gI-f0j"/>
+                                                </connections>
+                                            </button>
+                                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="小组权限" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="xGd-G0-OmQ">
+                                                <rect key="frame" x="170.33333333333334" y="11.666666666666668" width="73.666666666666657" height="21.000000000000004"/>
+                                                <fontDescription key="fontDescription" type="system" pointSize="18"/>
+                                                <color key="textColor" red="0.039215686270000001" green="0.039215686270000001" blue="0.039215686270000001" alpha="1" colorSpace="calibratedRGB"/>
+                                                <nil key="highlightedColor"/>
+                                            </label>
+                                        </subviews>
+                                        <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                        <constraints>
+                                            <constraint firstItem="Rex-PE-4gJ" firstAttribute="top" secondItem="fYY-xD-XBG" secondAttribute="top" id="0K6-Qm-kzC"/>
+                                            <constraint firstAttribute="height" constant="44" id="Fqa-0E-lLd"/>
+                                            <constraint firstItem="xGd-G0-OmQ" firstAttribute="centerX" secondItem="gqn-1s-8z3" secondAttribute="centerX" id="Izz-Xs-nS7"/>
+                                            <constraint firstItem="fYY-xD-XBG" firstAttribute="leading" secondItem="gqn-1s-8z3" secondAttribute="leading" id="Lx6-QU-hQh"/>
+                                            <constraint firstItem="Rex-PE-4gJ" firstAttribute="bottom" secondItem="fYY-xD-XBG" secondAttribute="bottom" id="a4Z-gl-QsJ"/>
+                                            <constraint firstAttribute="bottom" secondItem="fYY-xD-XBG" secondAttribute="bottom" id="boH-FD-cNm"/>
+                                            <constraint firstItem="Rex-PE-4gJ" firstAttribute="leading" secondItem="fYY-xD-XBG" secondAttribute="trailing" id="h7H-pv-kwA"/>
+                                            <constraint firstItem="xGd-G0-OmQ" firstAttribute="centerY" secondItem="gqn-1s-8z3" secondAttribute="centerY" id="lVM-zt-xBd"/>
+                                        </constraints>
+                                    </view>
+                                </subviews>
+                                <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
+                                <constraints>
+                                    <constraint firstItem="CVW-8o-Jc8" firstAttribute="leading" secondItem="G7J-7g-5Ed" secondAttribute="leading" id="10b-Xy-nJp"/>
+                                    <constraint firstItem="gqn-1s-8z3" firstAttribute="leading" secondItem="G7J-7g-5Ed" secondAttribute="leading" id="JLE-pY-Sbi"/>
+                                    <constraint firstItem="gqn-1s-8z3" firstAttribute="trailing" secondItem="G7J-7g-5Ed" secondAttribute="trailing" id="Tzc-vh-h9V"/>
+                                    <constraint firstAttribute="bottom" secondItem="gqn-1s-8z3" secondAttribute="bottom" id="XyG-KE-qps"/>
+                                    <constraint firstAttribute="trailing" secondItem="CVW-8o-Jc8" secondAttribute="trailing" id="a3i-Y2-TbL"/>
+                                    <constraint firstAttribute="bottom" secondItem="CVW-8o-Jc8" secondAttribute="bottom" id="hlP-2P-N9c"/>
+                                    <constraint firstAttribute="height" constant="64" id="qb9-gw-0Le"/>
+                                </constraints>
+                                <connections>
+                                    <outlet property="height" destination="qb9-gw-0Le" id="I6t-Pl-WUX"/>
+                                </connections>
+                            </view>
+                            <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="none" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="c98-Pb-KRE">
+                                <rect key="frame" x="0.0" y="64" width="414" height="672"/>
+                                <color key="backgroundColor" red="0.94509803921568625" green="0.94509803921568625" blue="0.94509803921568625" alpha="1" colorSpace="calibratedRGB"/>
+                            </tableView>
+                        </subviews>
+                        <color key="backgroundColor" red="0.94117647059999998" green="0.93725490199999995" blue="0.95686274510000002" alpha="1" colorSpace="calibratedRGB"/>
+                        <constraints>
+                            <constraint firstItem="G7J-7g-5Ed" firstAttribute="trailing" secondItem="7WD-IR-7jK" secondAttribute="trailing" id="1Ur-H4-s7l"/>
+                            <constraint firstItem="c98-Pb-KRE" firstAttribute="top" secondItem="G7J-7g-5Ed" secondAttribute="bottom" id="9ar-rN-Zpa"/>
+                            <constraint firstItem="7WD-IR-7jK" firstAttribute="bottom" secondItem="c98-Pb-KRE" secondAttribute="bottom" id="Gpj-4S-cAD"/>
+                            <constraint firstItem="G7J-7g-5Ed" firstAttribute="top" secondItem="Yfe-m7-J8z" secondAttribute="top" id="ZE8-oZ-iEp"/>
+                            <constraint firstItem="c98-Pb-KRE" firstAttribute="trailing" secondItem="7WD-IR-7jK" secondAttribute="trailing" id="bUK-w1-EWd"/>
+                            <constraint firstItem="G7J-7g-5Ed" firstAttribute="leading" secondItem="7WD-IR-7jK" secondAttribute="leading" id="d9Q-iM-QkY"/>
+                            <constraint firstItem="c98-Pb-KRE" firstAttribute="leading" secondItem="7WD-IR-7jK" secondAttribute="leading" id="yct-Fs-E1j"/>
+                        </constraints>
+                        <viewLayoutGuide key="safeArea" id="7WD-IR-7jK"/>
+                    </view>
+                    <navigationItem key="navigationItem" id="fhI-NJ-hCx"/>
+                    <connections>
+                        <outlet property="tableView" destination="c98-Pb-KRE" id="huY-8B-cRJ"/>
+                    </connections>
+                </viewController>
+                <placeholder placeholderIdentifier="IBFirstResponder" id="BIw-QS-lIZ" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
+            </objects>
+            <point key="canvasLocation" x="-943" y="1473"/>
+        </scene>
+        <!--Group LabelVC-->
+        <scene sceneID="g5b-c6-ezZ">
+            <objects>
+                <viewController storyboardIdentifier="TDGroupLabelVC" id="Nj2-Le-FQZ" customClass="TDGroupLabelVC" sceneMemberID="viewController">
+                    <view key="view" contentMode="scaleToFill" id="9yl-5K-8t6">
+                        <rect key="frame" x="0.0" y="0.0" width="414" height="736"/>
+                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                        <subviews>
+                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="SYd-FR-eFS" customClass="WQNavigationBar">
+                                <rect key="frame" x="0.0" y="0.0" width="414" height="64"/>
+                                <subviews>
+                                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="gQk-3l-d05">
+                                        <rect key="frame" x="0.0" y="63.666666666666664" width="414" height="0.3333333333333357"/>
+                                        <color key="backgroundColor" red="0.93333333330000001" green="0.93333333330000001" blue="0.93333333330000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                        <constraints>
+                                            <constraint firstAttribute="height" constant="0.5" id="p4m-9g-SCc"/>
+                                        </constraints>
+                                    </view>
+                                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="IJu-G7-lkQ">
+                                        <rect key="frame" x="0.0" y="20" width="414" height="44"/>
+                                        <subviews>
+                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="zkI-yl-Is4">
+                                                <rect key="frame" x="0.0" y="0.0" width="50" height="44"/>
+                                                <constraints>
+                                                    <constraint firstAttribute="height" constant="44" id="iI0-Nu-FQi"/>
+                                                    <constraint firstAttribute="width" constant="50" id="icS-i0-hab"/>
+                                                </constraints>
+                                                <state key="normal" image="back_black_icon"/>
+                                                <connections>
+                                                    <action selector="backAction:" destination="Nj2-Le-FQZ" eventType="touchUpInside" id="zq1-DP-xIr"/>
+                                                </connections>
+                                            </button>
+                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="jrv-nF-CmZ">
+                                                <rect key="frame" x="50" y="0.0" width="35" height="44"/>
+                                                <constraints>
+                                                    <constraint firstAttribute="width" constant="35" id="S2r-64-gVS"/>
+                                                    <constraint firstAttribute="height" constant="44" id="rtt-ZB-wB9"/>
+                                                </constraints>
+                                                <state key="normal" image="menu_black_icon"/>
+                                                <connections>
+                                                    <action selector="menuAction:" destination="Nj2-Le-FQZ" eventType="touchUpInside" id="K2O-w2-DNk"/>
+                                                </connections>
+                                            </button>
+                                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="小组标签" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Gu2-iD-52v">
+                                                <rect key="frame" x="170.33333333333334" y="11.666666666666668" width="73.666666666666657" height="21.000000000000004"/>
+                                                <fontDescription key="fontDescription" type="system" pointSize="18"/>
+                                                <color key="textColor" red="0.039215686270000001" green="0.039215686270000001" blue="0.039215686270000001" alpha="1" colorSpace="calibratedRGB"/>
+                                                <nil key="highlightedColor"/>
+                                            </label>
+                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="tT8-OK-LPC">
+                                                <rect key="frame" x="370" y="0.0" width="44" height="44"/>
+                                                <constraints>
+                                                    <constraint firstAttribute="width" constant="44" id="OLR-FB-1cz"/>
+                                                </constraints>
+                                                <state key="normal" image="Common_set"/>
+                                            </button>
+                                        </subviews>
+                                        <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                        <constraints>
+                                            <constraint firstItem="jrv-nF-CmZ" firstAttribute="top" secondItem="zkI-yl-Is4" secondAttribute="top" id="9QU-T8-4qa"/>
+                                            <constraint firstAttribute="trailing" secondItem="tT8-OK-LPC" secondAttribute="trailing" id="BQW-QT-jf5"/>
+                                            <constraint firstItem="tT8-OK-LPC" firstAttribute="top" secondItem="IJu-G7-lkQ" secondAttribute="top" id="DMN-rg-Ulj"/>
+                                            <constraint firstItem="Gu2-iD-52v" firstAttribute="centerX" secondItem="IJu-G7-lkQ" secondAttribute="centerX" id="Ec0-A4-txc"/>
+                                            <constraint firstAttribute="bottom" secondItem="tT8-OK-LPC" secondAttribute="bottom" id="PaJ-k3-P5x"/>
+                                            <constraint firstItem="Gu2-iD-52v" firstAttribute="centerY" secondItem="IJu-G7-lkQ" secondAttribute="centerY" id="fEf-dh-6JC"/>
+                                            <constraint firstItem="jrv-nF-CmZ" firstAttribute="leading" secondItem="zkI-yl-Is4" secondAttribute="trailing" id="hFX-Wc-MXa"/>
+                                            <constraint firstItem="jrv-nF-CmZ" firstAttribute="bottom" secondItem="zkI-yl-Is4" secondAttribute="bottom" id="lf5-BU-JgM"/>
+                                            <constraint firstAttribute="height" constant="44" id="r37-96-y41"/>
+                                            <constraint firstAttribute="bottom" secondItem="zkI-yl-Is4" secondAttribute="bottom" id="rwA-uX-pIi"/>
+                                            <constraint firstItem="zkI-yl-Is4" firstAttribute="leading" secondItem="IJu-G7-lkQ" secondAttribute="leading" id="xzZ-ep-fJa"/>
+                                        </constraints>
+                                    </view>
+                                </subviews>
+                                <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
+                                <constraints>
+                                    <constraint firstAttribute="bottom" secondItem="gQk-3l-d05" secondAttribute="bottom" id="Cnu-Va-whR"/>
+                                    <constraint firstItem="gQk-3l-d05" firstAttribute="leading" secondItem="SYd-FR-eFS" secondAttribute="leading" id="Pph-xe-NhD"/>
+                                    <constraint firstItem="IJu-G7-lkQ" firstAttribute="leading" secondItem="SYd-FR-eFS" secondAttribute="leading" id="TKQ-Be-vDK"/>
+                                    <constraint firstAttribute="trailing" secondItem="gQk-3l-d05" secondAttribute="trailing" id="Y37-18-QoM"/>
+                                    <constraint firstItem="IJu-G7-lkQ" firstAttribute="trailing" secondItem="SYd-FR-eFS" secondAttribute="trailing" id="l3g-zQ-07E"/>
+                                    <constraint firstAttribute="height" constant="64" id="lYM-F4-O6w"/>
+                                    <constraint firstAttribute="bottom" secondItem="IJu-G7-lkQ" secondAttribute="bottom" id="oId-kc-fx0"/>
+                                </constraints>
+                                <connections>
+                                    <outlet property="height" destination="lYM-F4-O6w" id="2iA-M0-m6u"/>
+                                </connections>
+                            </view>
+                            <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" dataMode="prototypes" translatesAutoresizingMaskIntoConstraints="NO" id="B7z-lv-tNw">
+                                <rect key="frame" x="0.0" y="64" width="414" height="672"/>
+                                <color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
+                                <collectionViewFlowLayout key="collectionViewLayout" automaticEstimatedItemSize="YES" minimumLineSpacing="10" minimumInteritemSpacing="10" id="aQJ-Cm-ml8">
+                                    <size key="itemSize" width="50" height="50"/>
+                                    <size key="headerReferenceSize" width="0.0" height="0.0"/>
+                                    <size key="footerReferenceSize" width="0.0" height="0.0"/>
+                                    <inset key="sectionInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/>
+                                </collectionViewFlowLayout>
+                                <cells>
+                                    <collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" id="apL-ZZ-nz3">
+                                        <rect key="frame" x="0.0" y="0.0" width="50" height="50"/>
+                                        <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+                                        <collectionViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" id="vXu-qU-S0l">
+                                            <rect key="frame" x="0.0" y="0.0" width="50" height="50"/>
+                                            <autoresizingMask key="autoresizingMask"/>
+                                        </collectionViewCellContentView>
+                                    </collectionViewCell>
+                                </cells>
+                            </collectionView>
+                        </subviews>
+                        <color key="backgroundColor" red="0.94117647059999998" green="0.93725490199999995" blue="0.95686274510000002" alpha="1" colorSpace="calibratedRGB"/>
+                        <constraints>
+                            <constraint firstItem="Gb0-Vg-zEK" firstAttribute="trailing" secondItem="B7z-lv-tNw" secondAttribute="trailing" id="1pE-aa-MbF"/>
+                            <constraint firstItem="SYd-FR-eFS" firstAttribute="leading" secondItem="Gb0-Vg-zEK" secondAttribute="leading" id="HJN-8l-4dI"/>
+                            <constraint firstItem="B7z-lv-tNw" firstAttribute="top" secondItem="SYd-FR-eFS" secondAttribute="bottom" id="NBc-Yk-NWc"/>
+                            <constraint firstItem="Gb0-Vg-zEK" firstAttribute="bottom" secondItem="B7z-lv-tNw" secondAttribute="bottom" id="Pec-8n-jUw"/>
+                            <constraint firstItem="SYd-FR-eFS" firstAttribute="trailing" secondItem="Gb0-Vg-zEK" secondAttribute="trailing" id="UVk-4c-hs4"/>
+                            <constraint firstItem="SYd-FR-eFS" firstAttribute="top" secondItem="9yl-5K-8t6" secondAttribute="top" id="Zcy-Jt-7hK"/>
+                            <constraint firstItem="B7z-lv-tNw" firstAttribute="leading" secondItem="Gb0-Vg-zEK" secondAttribute="leading" id="p5t-Sq-x1S"/>
+                        </constraints>
+                        <viewLayoutGuide key="safeArea" id="Gb0-Vg-zEK"/>
+                    </view>
+                    <navigationItem key="navigationItem" id="NYU-JM-RUt"/>
+                    <connections>
+                        <outlet property="collectionView" destination="B7z-lv-tNw" id="Is1-fJ-nW9"/>
+                        <outlet property="setBtn" destination="tT8-OK-LPC" id="Kbj-EQ-kBi"/>
+                    </connections>
+                </viewController>
+                <placeholder placeholderIdentifier="IBFirstResponder" id="vBy-lI-VfL" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
+            </objects>
+            <point key="canvasLocation" x="-204" y="1472"/>
+        </scene>
+        <!--Add Group LabelVC-->
+        <scene sceneID="w4K-Pf-mJX">
+            <objects>
+                <viewController storyboardIdentifier="AddGroupLabelVC" id="d54-RM-4ZA" customClass="AddGroupLabelVC" sceneMemberID="viewController">
+                    <view key="view" contentMode="scaleToFill" id="1Nk-kG-I5O">
+                        <rect key="frame" x="0.0" y="0.0" width="414" height="736"/>
+                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                        <subviews>
+                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ib3-8O-SEB" customClass="WQNavigationBar">
+                                <rect key="frame" x="0.0" y="0.0" width="414" height="64"/>
+                                <subviews>
+                                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="imb-rS-S7h">
+                                        <rect key="frame" x="0.0" y="63.666666666666664" width="414" height="0.3333333333333357"/>
+                                        <color key="backgroundColor" red="0.93333333330000001" green="0.93333333330000001" blue="0.93333333330000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                        <constraints>
+                                            <constraint firstAttribute="height" constant="0.5" id="cVV-Nm-sTV"/>
+                                        </constraints>
+                                    </view>
+                                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Orb-LS-vmu">
+                                        <rect key="frame" x="0.0" y="20" width="414" height="44"/>
+                                        <subviews>
+                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="0ki-Ld-diX">
+                                                <rect key="frame" x="354" y="0.0" width="60" height="44"/>
+                                                <constraints>
+                                                    <constraint firstAttribute="width" constant="60" id="RTa-fg-vx3"/>
+                                                </constraints>
+                                                <fontDescription key="fontDescription" type="system" pointSize="15"/>
+                                                <state key="normal" title="完成">
+                                                    <color key="titleColor" red="0.22352941176470587" green="0.47450980392156861" blue="0.82745098039215681" alpha="1" colorSpace="calibratedRGB"/>
+                                                </state>
+                                            </button>
+                                        </subviews>
+                                        <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                        <constraints>
+                                            <constraint firstAttribute="height" constant="44" id="I7a-as-FGe"/>
+                                            <constraint firstAttribute="trailing" secondItem="0ki-Ld-diX" secondAttribute="trailing" id="IzJ-NV-YjG"/>
+                                            <constraint firstAttribute="bottom" secondItem="0ki-Ld-diX" secondAttribute="bottom" id="RTs-8v-1d3"/>
+                                            <constraint firstItem="0ki-Ld-diX" firstAttribute="top" secondItem="Orb-LS-vmu" secondAttribute="top" id="pd9-WA-n5S"/>
+                                        </constraints>
+                                    </view>
+                                </subviews>
+                                <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
+                                <constraints>
+                                    <constraint firstAttribute="bottom" secondItem="imb-rS-S7h" secondAttribute="bottom" id="Lo3-9R-jzL"/>
+                                    <constraint firstItem="Orb-LS-vmu" firstAttribute="leading" secondItem="ib3-8O-SEB" secondAttribute="leading" id="R3Y-Q0-au8"/>
+                                    <constraint firstAttribute="bottom" secondItem="Orb-LS-vmu" secondAttribute="bottom" id="SVc-mN-y8M"/>
+                                    <constraint firstAttribute="trailing" secondItem="imb-rS-S7h" secondAttribute="trailing" id="WnG-MJ-axf"/>
+                                    <constraint firstItem="Orb-LS-vmu" firstAttribute="trailing" secondItem="ib3-8O-SEB" secondAttribute="trailing" id="gzG-4H-NoC"/>
+                                    <constraint firstItem="imb-rS-S7h" firstAttribute="leading" secondItem="ib3-8O-SEB" secondAttribute="leading" id="l9t-TW-XPS"/>
+                                    <constraint firstAttribute="height" constant="64" id="u00-aS-Cr9"/>
+                                </constraints>
+                                <connections>
+                                    <outlet property="height" destination="u00-aS-Cr9" id="h5d-rp-oZB"/>
+                                </connections>
+                            </view>
+                            <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" dataMode="prototypes" translatesAutoresizingMaskIntoConstraints="NO" id="hjI-2y-AeD">
+                                <rect key="frame" x="0.0" y="114" width="414" height="622"/>
+                                <color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
+                                <collectionViewFlowLayout key="collectionViewLayout" automaticEstimatedItemSize="YES" minimumLineSpacing="10" minimumInteritemSpacing="10" id="Lp9-Ov-3wI">
+                                    <size key="itemSize" width="50" height="50"/>
+                                    <size key="headerReferenceSize" width="0.0" height="0.0"/>
+                                    <size key="footerReferenceSize" width="0.0" height="0.0"/>
+                                    <inset key="sectionInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/>
+                                </collectionViewFlowLayout>
+                                <cells>
+                                    <collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" id="U0J-Yv-wLI">
+                                        <rect key="frame" x="0.0" y="0.0" width="50" height="50"/>
+                                        <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+                                        <collectionViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" id="bhl-Oc-QUX">
+                                            <rect key="frame" x="0.0" y="0.0" width="50" height="50"/>
+                                            <autoresizingMask key="autoresizingMask"/>
+                                        </collectionViewCellContentView>
+                                    </collectionViewCell>
+                                </cells>
+                            </collectionView>
+                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="oxo-Me-JTw">
+                                <rect key="frame" x="0.0" y="64" width="414" height="50"/>
+                                <subviews>
+                                    <textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="请输入新标签" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="7sf-DY-I70">
+                                        <rect key="frame" x="15" y="5" width="324" height="40"/>
+                                        <constraints>
+                                            <constraint firstAttribute="height" constant="40" id="nAg-tj-RcU"/>
+                                        </constraints>
+                                        <fontDescription key="fontDescription" type="system" pointSize="16"/>
+                                        <textInputTraits key="textInputTraits"/>
+                                    </textField>
+                                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="tGU-e8-Cmx">
+                                        <rect key="frame" x="0.0" y="49.666666666666671" width="414" height="0.3333333333333357"/>
+                                        <color key="backgroundColor" red="0.91764705882352937" green="0.91764705882352937" blue="0.91764705882352937" alpha="1" colorSpace="calibratedRGB"/>
+                                        <constraints>
+                                            <constraint firstAttribute="height" constant="0.5" id="gZ4-TK-66K"/>
+                                        </constraints>
+                                    </view>
+                                    <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="QWV-nq-B4k">
+                                        <rect key="frame" x="354" y="14.666666666666671" width="45" height="21"/>
+                                        <color key="backgroundColor" red="0.22352941176470587" green="0.47450980392156861" blue="0.82745098039215681" alpha="1" colorSpace="calibratedRGB"/>
+                                        <constraints>
+                                            <constraint firstAttribute="height" constant="21" id="2dg-mk-2js"/>
+                                            <constraint firstAttribute="width" constant="45" id="sFV-r4-8mh"/>
+                                        </constraints>
+                                        <fontDescription key="fontDescription" type="system" pointSize="13"/>
+                                        <state key="normal" title="添加">
+                                            <color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                        </state>
+                                        <userDefinedRuntimeAttributes>
+                                            <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
+                                                <integer key="value" value="3"/>
+                                            </userDefinedRuntimeAttribute>
+                                            <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
+                                        </userDefinedRuntimeAttributes>
+                                    </button>
+                                </subviews>
+                                <color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
+                                <constraints>
+                                    <constraint firstAttribute="trailing" secondItem="QWV-nq-B4k" secondAttribute="trailing" constant="15" id="1WU-zk-97F"/>
+                                    <constraint firstItem="tGU-e8-Cmx" firstAttribute="leading" secondItem="oxo-Me-JTw" secondAttribute="leading" id="2yY-Nb-UhL"/>
+                                    <constraint firstAttribute="bottom" secondItem="tGU-e8-Cmx" secondAttribute="bottom" id="5s1-cj-rCc"/>
+                                    <constraint firstItem="7sf-DY-I70" firstAttribute="centerY" secondItem="oxo-Me-JTw" secondAttribute="centerY" id="B6k-Od-J4k"/>
+                                    <constraint firstItem="7sf-DY-I70" firstAttribute="leading" secondItem="oxo-Me-JTw" secondAttribute="leading" constant="15" id="C5J-X4-dbP"/>
+                                    <constraint firstAttribute="height" constant="50" id="F85-yG-HsP"/>
+                                    <constraint firstItem="QWV-nq-B4k" firstAttribute="leading" secondItem="7sf-DY-I70" secondAttribute="trailing" constant="15" id="Nkv-lV-llb"/>
+                                    <constraint firstItem="QWV-nq-B4k" firstAttribute="centerY" secondItem="oxo-Me-JTw" secondAttribute="centerY" id="TjM-Wx-eyF"/>
+                                    <constraint firstAttribute="trailing" secondItem="tGU-e8-Cmx" secondAttribute="trailing" id="YGU-sm-Tej"/>
+                                </constraints>
+                            </view>
+                        </subviews>
+                        <color key="backgroundColor" red="0.94117647059999998" green="0.93725490199999995" blue="0.95686274510000002" alpha="1" colorSpace="calibratedRGB"/>
+                        <constraints>
+                            <constraint firstItem="7oA-cT-CfD" firstAttribute="trailing" secondItem="hjI-2y-AeD" secondAttribute="trailing" id="4mn-7Z-EBy"/>
+                            <constraint firstItem="ib3-8O-SEB" firstAttribute="leading" secondItem="7oA-cT-CfD" secondAttribute="leading" id="5fU-1R-YoZ"/>
+                            <constraint firstItem="hjI-2y-AeD" firstAttribute="leading" secondItem="7oA-cT-CfD" secondAttribute="leading" id="Dof-21-QAg"/>
+                            <constraint firstItem="ib3-8O-SEB" firstAttribute="trailing" secondItem="7oA-cT-CfD" secondAttribute="trailing" id="EML-iH-VCe"/>
+                            <constraint firstItem="7oA-cT-CfD" firstAttribute="bottom" secondItem="hjI-2y-AeD" secondAttribute="bottom" id="KIm-B5-XNU"/>
+                            <constraint firstItem="oxo-Me-JTw" firstAttribute="top" secondItem="ib3-8O-SEB" secondAttribute="bottom" id="SVL-xk-wYK"/>
+                            <constraint firstItem="oxo-Me-JTw" firstAttribute="leading" secondItem="7oA-cT-CfD" secondAttribute="leading" id="dPx-H0-oEz"/>
+                            <constraint firstItem="7oA-cT-CfD" firstAttribute="trailing" secondItem="oxo-Me-JTw" secondAttribute="trailing" id="dsO-FP-NaS"/>
+                            <constraint firstItem="ib3-8O-SEB" firstAttribute="top" secondItem="1Nk-kG-I5O" secondAttribute="top" id="iYQ-2a-VR8"/>
+                            <constraint firstItem="hjI-2y-AeD" firstAttribute="top" secondItem="oxo-Me-JTw" secondAttribute="bottom" id="jg5-R9-nlx"/>
+                        </constraints>
+                        <viewLayoutGuide key="safeArea" id="7oA-cT-CfD"/>
+                    </view>
+                    <navigationItem key="navigationItem" id="fEb-EY-f8x"/>
+                    <connections>
+                        <outlet property="addBtn" destination="QWV-nq-B4k" id="xGz-LY-VWY"/>
+                        <outlet property="collectionView" destination="hjI-2y-AeD" id="kdm-kA-0AO"/>
+                        <outlet property="doneBtn" destination="0ki-Ld-diX" id="P5e-7t-I4D"/>
+                        <outlet property="textField" destination="7sf-DY-I70" id="aSq-1v-iHZ"/>
+                    </connections>
+                </viewController>
+                <placeholder placeholderIdentifier="IBFirstResponder" id="7il-OZ-S4m" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
+            </objects>
+            <point key="canvasLocation" x="598.55072463768124" y="1469.8369565217392"/>
+        </scene>
     </scenes>
     <resources>
+        <image name="Common_set" width="20" height="20"/>
         <image name="back_black_icon" width="11" height="20"/>
         <image name="chatmsg_detailchat_more_icon" width="18" height="4"/>
         <image name="chatmsg_icon_circleAdd" width="21" height="21"/>

+ 17 - 0
smartRhino/Project/VCModel/ChatMessage/Controller/MyTDGroup/VC/AddGroupLabelVC.h

@@ -0,0 +1,17 @@
+//
+//  AddGroupLabelVC.h
+//  smartRhino
+//
+//  Created by niuzhen on 2020/5/8.
+//  Copyright © 2020 tederen. All rights reserved.
+//
+
+#import "BaseViewController.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface AddGroupLabelVC : BaseViewController
++(AddGroupLabelVC *)initAddGroupLabelVC;
+@end
+
+NS_ASSUME_NONNULL_END

+ 84 - 0
smartRhino/Project/VCModel/ChatMessage/Controller/MyTDGroup/VC/AddGroupLabelVC.m

@@ -0,0 +1,84 @@
+//
+//  AddGroupLabelVC.m
+//  smartRhino
+//
+//  Created by niuzhen on 2020/5/8.
+//  Copyright © 2020 tederen. All rights reserved.
+//
+
+#import "AddGroupLabelVC.h"
+#import "TDGroupLabelCell.h"
+
+@interface AddGroupLabelVC ()<UICollectionViewDelegate,UICollectionViewDataSource,UICollectionViewDelegateFlowLayout,UITextFieldDelegate>
+@property (weak, nonatomic) IBOutlet UICollectionView *collectionView;
+@property (weak, nonatomic) IBOutlet UIButton *doneBtn;
+@property (weak, nonatomic) IBOutlet UITextField *textField;
+@property (weak, nonatomic) IBOutlet UIButton *addBtn;
+@end
+
+@implementation AddGroupLabelVC
++(AddGroupLabelVC *)initAddGroupLabelVC{
+    AddGroupLabelVC *controller = [StoryboardManager.shared.TDGroup instantiateViewControllerWithIdentifier:@"AddGroupLabelVC"];
+    controller.modalPresentationStyle = UIModalPresentationFullScreen;
+    return controller;
+}
+- (void)viewDidLoad {
+    [super viewDidLoad];
+    self.fd_prefersNavigationBarHidden = YES;
+    self.collectionView.delegate = self;
+    self.collectionView.dataSource = self;
+    [self.collectionView setCollectionViewLayout:[[UICollectionViewFlowLayout alloc] init]];
+    self.collectionView.showsVerticalScrollIndicator = NO;
+    self.collectionView.showsHorizontalScrollIndicator = NO;
+    self.collectionView.contentInset = UIEdgeInsetsMake(24, 30, 0, 24);
+    [self.collectionView registerNib:[UINib nibWithNibName:@"TDGroupLabelCell" bundle:nil] forCellWithReuseIdentifier:@"TDGroupLabelCell"];
+    self.collectionView.backgroundColor = [UIColor whiteColor];
+    self.textField.returnKeyType = UIReturnKeyDone;
+    self.textField.delegate = self;
+    [self.collectionView reloadData];
+    WS(weakSelf);
+    [self.addBtn setAction:^{
+        [weakSelf.textField resignFirstResponder];
+    }];
+    [self.doneBtn setAction:^{
+        [weakSelf dismissViewControllerAnimated:YES completion:^{
+            
+        }];
+    }];
+}
+- (BOOL)textFieldShouldReturn:(UITextField *)textField
+{
+    [self.textField resignFirstResponder];
+    return YES;
+}
+- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView {
+    return 1;
+}
+
+- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
+    return 6;
+}
+- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
+{
+    return CGSizeMake((SCREEN_WIDTH - 63) * 0.5, 58.f);
+}
+
+- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section
+{
+    return 7.f;
+}
+- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section
+{
+    return 9.f;
+}
+
+- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
+    TDGroupLabelCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"TDGroupLabelCell" forIndexPath:indexPath];
+    cell.titleL.text = @"语文作文";
+    cell.deleteBtn.hidden = NO;
+    [cell.deleteBtn setAction:^{
+        NSLog(@"deleteBtn");
+    }];
+    return cell;
+}
+@end

+ 56 - 54
smartRhino/Project/VCModel/ChatMessage/Controller/MyTDGroup/VC/TDGroupInfoDetailVC.m

@@ -8,18 +8,22 @@
 
 #import "TDGroupInfoDetailVC.h"
 #import "TDGroupInfoDetailCell.h"
-#import "createSearchBarView.h"
+#import "MyTDGroupView.h"
 #import "TDGroupInfoListModel.h"
 #import "TDGroupQrcodeVC.h"
 #import "TDGroupInfoChangeVc.h"
 #import "ChatGroupAddVC.h"
 #import "MailListDetailVC.h"
+#import "TDGroupRoleVC.h"
+#import "TDGroupLabelVC.h"
 
 @interface TDGroupInfoDetailVC ()<UITableViewDelegate,UITableViewDataSource>
 @property (weak, nonatomic) IBOutlet UITableView *tableView;
-@property (weak, nonatomic) IBOutlet UILabel *titleL;
-@property (strong, nonatomic)NSMutableArray * dataArray;
-@property (strong, nonatomic)TDGroupInfoListModel * listModel;
+@property (weak, nonatomic) IBOutlet UILabel     *titleL;
+@property (weak, nonatomic) IBOutlet UIView      *HeadView;
+@property (strong, nonatomic)NSMutableArray             *dataArray;
+@property (strong, nonatomic) MyTDGroupView             *SearchView;
+@property (strong, nonatomic)TDGroupInfoListModel       *listModel;
 @end
 
 @implementation TDGroupInfoDetailVC
@@ -35,11 +39,24 @@
 - (void)viewDidLoad {
     [super viewDidLoad];
     self.fd_prefersNavigationBarHidden = YES;
+    [self.HeadView addSubview:self.SearchView];
+    [self.SearchView mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.edges.mas_offset(UIEdgeInsetsZero);
+    }];
+    [self.SearchView.button setAction: ^{
+        NSLog(@"SearchView");
+    }];
     self.tableView.delegate = self;
     self.tableView.dataSource = self;
     [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(showMessage) name:GROUPADDMESSAGE object:nil];
 }
-
+- (MyTDGroupView *)SearchView
+{
+    if (!_SearchView) {
+        _SearchView = [[MyTDGroupView alloc] init];
+    }
+    return _SearchView;
+}
 - (void)getData
 {
     [self.dataArray removeAllObjects];
@@ -76,10 +93,10 @@
     if (section == 0) {
         switch (self.listModel.GroupUserRoleId) {
             case 1:
-                return 6;
+                return 5;
                 break;
             case 2:
-                return 4;
+                return 5;
                 break;
             default:
                 return 3;
@@ -108,40 +125,21 @@
                     case 1:
                     {
                         TDGroupInfoDetailCell *cell = [TDGroupInfoDetailCell configCell1:tableView indexPath:indexPath];
-                        cell.cell1TitleL.text = @"小组二维码";
+                        cell.cell1TitleL.text = @"小组信息";
                         return cell;
                     }
                         break;
                     case 2:
                     {
-                        TDGroupInfoDetailCell *cell = [TDGroupInfoDetailCell configCell2:tableView indexPath:indexPath];
-                        cell.cell2TitleL.text = @"加入小组需要管理员同意";
-                        [cell.cell2Switch setBlockForControlEvents:UIControlEventValueChanged block:^(id  _Nonnull sender) {
-                            [weakSelf NeedAgree];
-                        }];
-                        [cell.cell2Switch setOn:self.listModel.IsAdmin];
+                        TDGroupInfoDetailCell *cell = [TDGroupInfoDetailCell configCell1:tableView indexPath:indexPath];
+                        cell.cell1TitleL.text = @"小组标签";
                         return cell;
                     }
                         break;
                     case 3:
                     {
-                        TDGroupInfoDetailCell *cell = [TDGroupInfoDetailCell configCell2:tableView indexPath:indexPath];
-                        cell.cell2TitleL.text = @"只允许管理员发话题(禁言)";
-                        [cell.cell2Switch setBlockForControlEvents:UIControlEventValueChanged block:^(id  _Nonnull sender) {
-                            [weakSelf AdminTalk];
-                        }];
-                        [cell.cell2Switch setOn:self.listModel.IsWords];
-                        return cell;
-                    }
-                        break;
-                    case 4:
-                    {
-                        TDGroupInfoDetailCell *cell = [TDGroupInfoDetailCell configCell2:tableView indexPath:indexPath];
-                        cell.cell2TitleL.text = @"消息免打扰";
-                        [cell.cell2Switch setBlockForControlEvents:UIControlEventValueChanged block:^(id  _Nonnull sender) {
-                            [weakSelf ChatEnabelChange];
-                        }];
-                        [cell.cell2Switch setOn:self.listModel.IsUDisturb];
+                        TDGroupInfoDetailCell *cell = [TDGroupInfoDetailCell configCell1:tableView indexPath:indexPath];
+                        cell.cell1TitleL.text = @"小组权限";
                         return cell;
                     }
                         break;
@@ -193,18 +191,21 @@
                     case 1:
                     {
                         TDGroupInfoDetailCell *cell = [TDGroupInfoDetailCell configCell1:tableView indexPath:indexPath];
-                        cell.cell1TitleL.text = @"小组二维码";
+                        cell.cell1TitleL.text = @"小组信息";
                         return cell;
                     }
                         break;
                     case 2:
                     {
-                        TDGroupInfoDetailCell *cell = [TDGroupInfoDetailCell configCell2:tableView indexPath:indexPath];
-                        cell.cell2TitleL.text = @"消息免打扰";
-                        [cell.cell2Switch setBlockForControlEvents:UIControlEventValueChanged block:^(id  _Nonnull sender) {
-                            [weakSelf ChatEnabelChange];
-                        }];
-                        [cell.cell2Switch setOn:self.listModel.IsUDisturb];
+                        TDGroupInfoDetailCell *cell = [TDGroupInfoDetailCell configCell1:tableView indexPath:indexPath];
+                        cell.cell1TitleL.text = @"小组标签";
+                        return cell;
+                    }
+                        break;
+                    case 3:
+                    {
+                        TDGroupInfoDetailCell *cell = [TDGroupInfoDetailCell configCell1:tableView indexPath:indexPath];
+                        cell.cell1TitleL.text = @"小组权限";
                         return cell;
                     }
                         break;
@@ -253,21 +254,10 @@
                         return cell;
                     }
                         break;
-                    case 1:
-                    {
-                        TDGroupInfoDetailCell *cell = [TDGroupInfoDetailCell configCell1:tableView indexPath:indexPath];
-                        cell.cell1TitleL.text = @"小组二维码";
-                        return cell;
-                    }
-                        break;
                     default:
                     {
-                        TDGroupInfoDetailCell *cell = [TDGroupInfoDetailCell configCell2:tableView indexPath:indexPath];
-                        cell.cell2TitleL.text = @"消息免打扰";
-                        [cell.cell2Switch setBlockForControlEvents:UIControlEventValueChanged block:^(id  _Nonnull sender) {
-                            [weakSelf ChatEnabelChange];
-                        }];
-                        [cell.cell2Switch setOn:self.listModel.IsUDisturb];
+                        TDGroupInfoDetailCell *cell = [TDGroupInfoDetailCell configCell1:tableView indexPath:indexPath];
+                        cell.cell1TitleL.text = @"小组信息";
                         return cell;
                     }
                         break;
@@ -302,7 +292,7 @@
                 break;
         }
         cell.cell4subL.text = model.DepartmentName;
-        cell.cell4TimeL.text = @"2019-11-14";
+        cell.cell4TimeL.text = nil;
         return cell;
     }
 }
@@ -314,7 +304,7 @@
 - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
 {
     if (section == 0) {
-           return 50.f;
+           return 0.01f;
        }
        return 35.f;
 }
@@ -325,7 +315,7 @@
 - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
 {
     if (section == 0) {
-        return [[createSearchBarView  alloc] init];
+        return [UIView new];
     }else{
         UIView * view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, 35)];
         view.backgroundColor = UIColorHex(#F0EFF4);
@@ -362,6 +352,18 @@
                 [self.navigationController pushViewController:vc animated:YES];
             }
                 break;
+            case 2:
+            {
+                TDGroupLabelVC * vc= [TDGroupLabelVC initTDGroupLabelVC];
+                [self.navigationController pushViewController:vc animated:YES];
+            }
+                break;
+            case 3:
+            {
+                TDGroupRoleVC * vc= [TDGroupRoleVC initTDGroupRoleVC];
+                [self.navigationController pushViewController:vc animated:YES];
+            }
+                break;
             default:
                 break;
         }

+ 17 - 0
smartRhino/Project/VCModel/ChatMessage/Controller/MyTDGroup/VC/TDGroupLabelVC.h

@@ -0,0 +1,17 @@
+//
+//  TDGroupLabelVC.h
+//  smartRhino
+//
+//  Created by niuzhen on 2020/5/8.
+//  Copyright © 2020 tederen. All rights reserved.
+//
+
+#import "BaseViewController.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface TDGroupLabelVC : BaseViewController
++(TDGroupLabelVC *)initTDGroupLabelVC;
+@end
+
+NS_ASSUME_NONNULL_END

+ 70 - 0
smartRhino/Project/VCModel/ChatMessage/Controller/MyTDGroup/VC/TDGroupLabelVC.m

@@ -0,0 +1,70 @@
+//
+//  TDGroupLabelVC.m
+//  smartRhino
+//
+//  Created by niuzhen on 2020/5/8.
+//  Copyright © 2020 tederen. All rights reserved.
+//
+
+#import "TDGroupLabelVC.h"
+#import "TDGroupLabelCell.h"
+#import "AddGroupLabelVC.h"
+
+@interface TDGroupLabelVC ()<UICollectionViewDelegate,UICollectionViewDataSource,UICollectionViewDelegateFlowLayout>
+@property (weak, nonatomic) IBOutlet UICollectionView *collectionView;
+@property (weak, nonatomic) IBOutlet UIButton *setBtn;
+@end
+
+@implementation TDGroupLabelVC
++(TDGroupLabelVC *)initTDGroupLabelVC{
+    TDGroupLabelVC *controller = [StoryboardManager.shared.TDGroup instantiateViewControllerWithIdentifier:@"TDGroupLabelVC"];
+    return controller;
+}
+- (void)viewDidLoad {
+    [super viewDidLoad];
+    self.fd_prefersNavigationBarHidden = YES;
+    self.collectionView.delegate = self;
+    self.collectionView.dataSource = self;
+    [self.collectionView setCollectionViewLayout:[[UICollectionViewFlowLayout alloc] init]];
+    self.collectionView.showsVerticalScrollIndicator = NO;
+    self.collectionView.showsHorizontalScrollIndicator = NO;
+    self.collectionView.contentInset = UIEdgeInsetsMake(2, 30, 0, 24);
+    [self.collectionView registerNib:[UINib nibWithNibName:@"TDGroupLabelCell" bundle:nil] forCellWithReuseIdentifier:@"TDGroupLabelCell"];
+    self.collectionView.backgroundColor = [UIColor whiteColor];
+    [self.collectionView reloadData];
+    WS(weakSelf);
+    [self.setBtn setAction:^{
+        AddGroupLabelVC * vc = [AddGroupLabelVC initAddGroupLabelVC];
+        [weakSelf presentViewController:vc animated:YES completion:^{
+            
+        }];
+    }];
+}
+- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView {
+    return 1;
+}
+
+- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
+    return 6;
+}
+- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
+{
+    return CGSizeMake((SCREEN_WIDTH - 63) * 0.5, 58.f);
+}
+
+- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section
+{
+    return 7.f;
+}
+- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section
+{
+    return 9.f;
+}
+
+- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
+    TDGroupLabelCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"TDGroupLabelCell" forIndexPath:indexPath];
+    cell.titleL.text = @"语文作文";
+    cell.deleteBtn.hidden = YES;
+    return cell;
+}
+@end

+ 17 - 0
smartRhino/Project/VCModel/ChatMessage/Controller/MyTDGroup/VC/TDGroupRoleVC.h

@@ -0,0 +1,17 @@
+//
+//  TDGroupRoleVC.h
+//  smartRhino
+//
+//  Created by niuzhen on 2020/5/8.
+//  Copyright © 2020 tederen. All rights reserved.
+//
+
+#import "BaseViewController.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface TDGroupRoleVC : BaseViewController
++(TDGroupRoleVC *)initTDGroupRoleVC;
+@end
+
+NS_ASSUME_NONNULL_END

+ 80 - 0
smartRhino/Project/VCModel/ChatMessage/Controller/MyTDGroup/VC/TDGroupRoleVC.m

@@ -0,0 +1,80 @@
+//
+//  TDGroupRoleVC.m
+//  smartRhino
+//
+//  Created by niuzhen on 2020/5/8.
+//  Copyright © 2020 tederen. All rights reserved.
+//
+
+#import "TDGroupRoleVC.h"
+#import "TDGroupInfoDetailCell.h"
+
+@interface TDGroupRoleVC ()<UITableViewDelegate,UITableViewDataSource>
+@property (weak, nonatomic) IBOutlet UITableView *tableView;
+@end
+
+@implementation TDGroupRoleVC
++(TDGroupRoleVC *)initTDGroupRoleVC{
+    TDGroupRoleVC *controller = [StoryboardManager.shared.TDGroup instantiateViewControllerWithIdentifier:@"TDGroupRoleVC"];
+    return controller;
+}
+- (void)viewDidLoad {
+    [super viewDidLoad];
+    self.fd_prefersNavigationBarHidden = YES;
+    self.view.backgroundColor = UIColorHex(0xF1F1F1);
+    self.tableView.delegate = self;
+    self.tableView.dataSource = self;
+}
+#pragma mark - UITableViewDelegate
+- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
+{
+    return 1;
+}
+- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
+{
+    return 3;
+}
+- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
+{
+    return 65.f;
+}
+- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
+{
+    WS(weakSelf);
+    switch (indexPath.row) {
+        case 0:
+        {
+            TDGroupInfoDetailCell *cell = [TDGroupInfoDetailCell configCell2:tableView indexPath:indexPath];
+            cell.cell2TitleL.text = @"加入小组需要管理员同意";
+            [cell.cell2Switch setBlockForControlEvents:UIControlEventValueChanged block:^(id  _Nonnull sender) {
+
+            }];
+            [cell.cell2Switch setOn:NO];
+            return cell;
+        }
+            break;
+        case 1:
+        {
+            TDGroupInfoDetailCell *cell = [TDGroupInfoDetailCell configCell2:tableView indexPath:indexPath];
+            cell.cell2TitleL.text = @"只允许管理员发话题(禁言)";
+            [cell.cell2Switch setBlockForControlEvents:UIControlEventValueChanged block:^(id  _Nonnull sender) {
+
+            }];
+            [cell.cell2Switch setOn:NO];
+            return cell;
+        }
+            break;
+        default:
+        {
+            TDGroupInfoDetailCell *cell = [TDGroupInfoDetailCell configCell2:tableView indexPath:indexPath];
+            cell.cell2TitleL.text = @"小组广场可见";
+            [cell.cell2Switch setBlockForControlEvents:UIControlEventValueChanged block:^(id  _Nonnull sender) {
+
+            }];
+            [cell.cell2Switch setOn:YES];
+            return cell;
+        }
+            break;
+    }
+}
+@end

+ 2 - 2
smartRhino/Project/VCModel/ChatMessage/Controller/MyTDGroup/View/MyTDGroupView.m

@@ -23,11 +23,11 @@
         [self.button setBackgroundColor:UIColorHex(F5F6F8)];
         [self.button setTitleColor:UIColorHex(ABACAE) forState:UIControlStateNormal];
         self.button.layer.cornerRadius = 15;
+        self.button.layer.borderWidth = 0.f;
         self.button.layer.masksToBounds = YES;
     }
     return self;
 }
-
 - (instancetype)initWithFrame:(CGRect)frame
 {
     self = [super initWithFrame:frame];
@@ -49,7 +49,7 @@
         _button = [[TDButton alloc] init];
         [_button setTitle:@" 搜索" forState:UIControlStateNormal];
         [[_button titleLabel] setFont:[UIFont fontWithName:@"PingFang-SC-Regular" size:13.f]];
-        [_button setImage:IMG(@"sousuo") forState:UIControlStateNormal];
+        [_button setImage:IMG(@"chatmsg_search_icon") forState:UIControlStateNormal];
     }
     return _button;
 }

+ 1 - 1
smartRhino/Project/VCModel/ChatMessage/Controller/MyTDGroup/View/createSearchBarView.h

@@ -11,7 +11,7 @@
 NS_ASSUME_NONNULL_BEGIN
 
 @interface createSearchBarView : UIView
-
+@property (copy, nonatomic) void(^ClickBlock)(void);
 @end
 
 NS_ASSUME_NONNULL_END

+ 8 - 1
smartRhino/Project/VCModel/ChatMessage/Controller/MyTDGroup/View/createSearchBarView.m

@@ -36,7 +36,7 @@
     attach.bounds = CGRectMake(0, -1, 12, 12);
     NSAttributedString *attachString = [NSAttributedString attributedStringWithAttachment:attach];
     NSMutableAttributedString *string = [[NSMutableAttributedString alloc] initWithAttributedString:attachString];
-    NSAttributedString * newString = [[NSAttributedString alloc] initWithString:@" 搜索" attributes:@{NSFontAttributeName: [UIFont fontWithName:@"PingFang SC" size: 14],NSForegroundColorAttributeName: [UIColor colorWithRed:171/255.0 green:172/255.0 blue:174/255.0 alpha:1.0]}];
+    NSAttributedString * newString = [[NSAttributedString alloc] initWithString:@" 搜索" attributes:@{NSFontAttributeName: [UIFont fontWithName:@"PingFang SC" size: 13],NSForegroundColorAttributeName: [UIColor colorWithRed:171/255.0 green:172/255.0 blue:174/255.0 alpha:1.0]}];
     [string appendAttributedString:[[NSAttributedString alloc] initWithAttributedString:newString]];
  
     searchL.attributedText = string;
@@ -44,5 +44,12 @@
     [searchL mas_makeConstraints:^(MASConstraintMaker *make) {
         make.center.mas_equalTo(view);
     }];
+    WS(weakSelf);
+    UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithActionBlock:^(id  _Nonnull sender) {
+        if (weakSelf.ClickBlock) {
+            weakSelf.ClickBlock();
+        }
+    }];
+    [self addGestureRecognizer:tap];
 }
 @end

+ 4 - 4
smartRhino/Project/VCModel/ChatMessage/View/ChatMsgCollectionCell.xib

@@ -21,14 +21,14 @@
                         <rect key="frame" x="0.0" y="0.0" width="70" height="98"/>
                         <subviews>
                             <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="chatmsg_ht_icon" translatesAutoresizingMaskIntoConstraints="NO" id="UcK-Mt-u7p">
-                                <rect key="frame" x="20" y="12" width="30" height="30"/>
+                                <rect key="frame" x="20" y="8" width="30" height="30"/>
                                 <constraints>
                                     <constraint firstAttribute="height" constant="30" id="UON-XY-NG0"/>
                                     <constraint firstAttribute="width" constant="30" id="YeZ-VL-YeK"/>
                                 </constraints>
                             </imageView>
                             <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="KnF-GQ-hHW">
-                                <rect key="frame" x="42" y="4" width="16" height="16"/>
+                                <rect key="frame" x="42" y="0.0" width="16" height="16"/>
                                 <color key="backgroundColor" systemColor="systemRedColor" red="1" green="0.23137254900000001" blue="0.18823529410000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                 <constraints>
                                     <constraint firstAttribute="height" constant="16" id="JRf-LS-RCh"/>
@@ -45,7 +45,7 @@
                                 </userDefinedRuntimeAttributes>
                             </label>
                             <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="4EX-kh-Sh3">
-                                <rect key="frame" x="16.5" y="50" width="37.5" height="18"/>
+                                <rect key="frame" x="16.5" y="46" width="37.5" height="18"/>
                                 <fontDescription key="fontDescription" type="system" pointSize="15"/>
                                 <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                 <nil key="highlightedColor"/>
@@ -60,7 +60,7 @@
                             <constraint firstItem="KnF-GQ-hHW" firstAttribute="centerY" secondItem="UcK-Mt-u7p" secondAttribute="top" id="3h8-j7-NY1"/>
                             <constraint firstItem="KnF-GQ-hHW" firstAttribute="centerX" secondItem="UcK-Mt-u7p" secondAttribute="trailing" id="EpX-Sb-UmR"/>
                             <constraint firstItem="UcK-Mt-u7p" firstAttribute="centerX" secondItem="1l4-pu-UQi" secondAttribute="centerX" id="Joh-85-wgI"/>
-                            <constraint firstItem="UcK-Mt-u7p" firstAttribute="top" secondItem="1l4-pu-UQi" secondAttribute="top" constant="12" id="KWq-iY-GpP"/>
+                            <constraint firstItem="UcK-Mt-u7p" firstAttribute="top" secondItem="1l4-pu-UQi" secondAttribute="top" constant="8" id="KWq-iY-GpP"/>
                             <constraint firstItem="4EX-kh-Sh3" firstAttribute="top" secondItem="UcK-Mt-u7p" secondAttribute="bottom" constant="8" id="Nbx-kl-FJO"/>
                             <constraint firstAttribute="bottom" secondItem="T0P-rv-gzb" secondAttribute="bottom" id="Qfu-58-p91"/>
                             <constraint firstItem="T0P-rv-gzb" firstAttribute="top" secondItem="1l4-pu-UQi" secondAttribute="top" id="WP2-v0-hib"/>

+ 3 - 3
smartRhino/Project/VCModel/Home/OtherHomeVC/Drawer/DrawerView.m

@@ -73,8 +73,8 @@ TDShareInstance_implementation(DrawerView)
 - (void)reloadDrawerData {
     self.drawerTitleLab.text = [NSString stringWithFormat:@"%@,您好",[AppUserModel sharedAppUserModel].Nick];
 
-    _imageNameArr = @[@[@"bar_home_off", @"bar_work_off", @"bar_chat_off", @"bar_my_off"], @[@"draw_letter", @"draw_notice", @"draw_collect",@"draw_note", @"draw_set"]];
-    _drawerNameArr = @[@[@"首页", @"工作", @"信源", @"我的"],@[ @"站内信", @"通知", @"收藏",@"笔记", @"设置"]];
+    _imageNameArr = @[@[@"draw_home", @"draw_common", @"draw_source", @"draw_mine"], @[@"draw_mail", @"draw_sixin", @"draw_collect",@"draw_note"],@[@"draw_txl", @"draw_set"]];
+    _drawerNameArr = @[@[@"首页", @"常用", @"信源", @"我的"],@[@"站内信", @"私信", @"收藏",@"笔记"],@[@"通讯录", @"设置"]];
 }
 
 #pragma mark - UITableViewDataSource && UITableViewDelegate
@@ -144,7 +144,7 @@ TDShareInstance_implementation(DrawerView)
 - (UIView *)blueView {
     if (!_blueView) {
         _blueView = [UIView new];
-        _blueView.backgroundColor = UIColorHex(336CF9);
+        _blueView.backgroundColor = UIColorHex(0x3979D3);
     }
     return _blueView;
 }

+ 41 - 23
smartRhino/Project/VCModel/Home/VC/HomeDetailController.m

@@ -383,36 +383,54 @@ static NSString *imageID = @"ArticleImageCell";
     [[UtilsTools getWindow] addSubview:self.drawerView];
     WS(weakSelf);
     self.drawerView.SelectDrawerBlock = ^(NSIndexPath * _Nonnull indexPath) {
+        if (![weakSelf.tabBarController isKindOfClass:[TabBarController class]]) {
+            [TabBarController sharedTabBarController].tabBar.hidden = NO;
+            [weakSelf.tabBarController.navigationController popViewControllerAnimated:NO];
+        }
         if ([weakSelf.navigationController.viewControllers count] > 1) {
             [weakSelf.navigationController popToRootViewControllerAnimated:NO];
         }
-        if (indexPath.section == 0) {
-            [[TabBarController sharedTabBarController] setSelectedIndex:indexPath.row];
-        }else{
-            ///@"站内信", @"通知", @"收藏",@"笔记", @"设置"
-            switch (indexPath.row) {
-                case 0:
-                {
-                    [[TabBarController sharedTabBarController] setSelectedIndex:2];
-                }
-                    break;
-                case 1:
-                {
-                    [[TabBarController sharedTabBarController] setSelectedIndex:2];
-                }
-                    break;
-                default:
-                {
-                    [[TabBarController sharedTabBarController] setSelectedIndex:3];
+        switch (indexPath.section) {
+            case 0:
+            {
+                [[TabBarController sharedTabBarController] setSelectedIndex:indexPath.row];
+            }
+                break;
+            case 1:
+            {
+                switch (indexPath.row) {
+                    case 0:
+                    {
+                        [[TabBarController sharedTabBarController] setSelectedIndex:2];
+                    }
+                        break;
+                    case 1:
+                    {
+                        [[TabBarController sharedTabBarController] setSelectedIndex:2];
+                    }
+                        break;
+                    default:
+                    {
+                        [[TabBarController sharedTabBarController] setSelectedIndex:3];
+                    }
+                        break;
                 }
-                    break;
+                dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+                    [[NSNotificationCenter defaultCenter] postNotificationName:DRAWERPUSHVC object:nil userInfo:@{VCINDEX:@(indexPath.row)}];
+                });
             }
-            dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
-                [[NSNotificationCenter defaultCenter] postNotificationName:DRAWERPUSHVC object:nil userInfo:@{VCINDEX:@(indexPath.row)}];
-            });
+                break;
+            default:
+            {
+                [[TabBarController sharedTabBarController] setSelectedIndex:3];
+                dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+                    [[NSNotificationCenter defaultCenter] postNotificationName:DRAWERPUSHVC object:nil userInfo:@{VCINDEX:@(4 + indexPath.row)}];
+                });
+            }
+                break;
         }
     };
-    self.drawerView.frame = CGRectMake(0,0, SCREEN_WIDTH, SCREEN_HEIGHT);
+    self.drawerView.frame = CGRectMake(0,0, SCREEN_WIDTH, SCREEN_HEIGHT);// - kNavigationHeight
 }
 
 - (void)loadCurrentModel:(Item *)model {

+ 6 - 1
smartRhino/Project/VCModel/Home/VC/View/Cell/HomeTableViewCell.m

@@ -46,9 +46,14 @@
             ID = @"HomeTableViewCell3";
             break;
     }
+
     HomeTableViewCell *cell = (HomeTableViewCell *)[tableView dequeueReusableCellWithIdentifier:ID];
     if (cell == nil || !cell) {
-        cell = [[[NSBundle mainBundle] loadNibNamed:@"HomeTableViewCell" owner:self options:nil] objectAtIndex:(index - 1)];
+        NSLog(@"--------nil,%ld",index - 1);
+        if (index == 0) {
+            index = 1;
+        }
+        cell = [[[NSBundle mainBundle] loadNibNamed:@"HomeTableViewCell" owner:nil options:nil] objectAtIndex:(index - 1)];
     }
     cell.selectionStyle = UITableViewCellSelectionStyleNone;
     return cell;

+ 20 - 5
smartRhino/Project/VCModel/My_Center/Controller/My_CenterVC.m

@@ -15,6 +15,7 @@
 #import "MyCardVC.h"
 #import "NoteBookVC.h"
 #import "MyAccountVC.h"
+#import "MailListVC.h"
 
 @interface My_CenterVC ()<UITableViewDelegate,UITableViewDataSource>
 
@@ -67,7 +68,7 @@
             return 1;
         }break;
         case 1:{
-            return 3;
+            return 4;
         }break;
         default:break;
     }
@@ -110,10 +111,14 @@
                     cell.cell1TitleLabel.text = @"无限卡";
                 }break;
                 case 2: {
-                    cell.cell1IconImg.image = [UIImage imageNamed:@"my_conter_setting_icon"];
-                    cell.cell1TitleLabel.text = @"设置";
+                    cell.cell1IconImg.image = [UIImage imageNamed:@"mine_txl_icon"];
+                    cell.cell1TitleLabel.text = @"通讯录";
                 }break;
                 default:
+                {
+                    cell.cell1IconImg.image = [UIImage imageNamed:@"my_conter_setting_icon"];
+                    cell.cell1TitleLabel.text = @"设置";
+                }
                     break;
             }
             return cell;
@@ -151,11 +156,16 @@
                     [self.navigationController pushViewController:vc animated:YES];
                 }break;
                 case 2:{
-                    SettingVC *vc = [SettingVC initSettingVC];
+                    MailListVC *vc = [MailListVC initMailListVC];
                     vc.hidesBottomBarWhenPushed = YES;
                     [self.navigationController pushViewController:vc animated:YES];
                 }break;
                 default:
+                {
+                    SettingVC *vc = [SettingVC initSettingVC];
+                    vc.hidesBottomBarWhenPushed = YES;
+                    [self.navigationController pushViewController:vc animated:YES];
+                }
                     break;
             }
         }break;
@@ -193,12 +203,17 @@
             break;
         case 4:
         {
-            SettingVC *vc = [SettingVC initSettingVC];
+            MailListVC * vc = [MailListVC initMailListVC];
             vc.hidesBottomBarWhenPushed = YES;
             [self.navigationController pushViewController:vc animated:YES];
         }
             break;
         default:
+        {
+            SettingVC *vc = [SettingVC initSettingVC];
+            vc.hidesBottomBarWhenPushed = YES;
+            [self.navigationController pushViewController:vc animated:YES];
+        }
             break;
     }
 }

+ 7 - 7
smartRhino/Project/VCModel/My_Center/View/MyAccountCell.xib

@@ -21,31 +21,31 @@
                         <rect key="frame" x="7" y="9" width="306" height="89"/>
                         <subviews>
                             <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0.00" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="3ef-7P-PrA">
-                                <rect key="frame" x="260" y="20" width="31" height="21"/>
+                                <rect key="frame" x="260" y="34" width="31" height="21"/>
                                 <fontDescription key="fontDescription" name="PingFangSC-Regular" family="PingFang SC" pointSize="15"/>
                                 <nil key="textColor"/>
                                 <nil key="highlightedColor"/>
                             </label>
                             <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2020-04-18 23:05" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="5nu-gR-7Wz">
-                                <rect key="frame" x="15" y="52.5" width="123.5" height="20"/>
+                                <rect key="frame" x="18" y="51" width="123.5" height="20"/>
                                 <fontDescription key="fontDescription" name="PingFangSC-Regular" family="PingFang SC" pointSize="14"/>
                                 <color key="textColor" red="0.40000000000000002" green="0.40000000000000002" blue="0.40000000000000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                 <nil key="highlightedColor"/>
                             </label>
                             <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="人类简史" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="5Zt-Iv-NEo">
-                                <rect key="frame" x="15" y="18.5" width="68" height="24"/>
+                                <rect key="frame" x="18" y="17" width="68" height="24"/>
                                 <fontDescription key="fontDescription" name="PingFangSC-Regular" family="PingFang SC" pointSize="17"/>
-                                <color key="textColor" red="0.039215686274509803" green="0.039215686274509803" blue="0.039215686274509803" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                <color key="textColor" red="0.23921568627450979" green="0.58431372549019611" blue="0.93333333333333335" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                 <nil key="highlightedColor"/>
                             </label>
                         </subviews>
                         <color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
                         <constraints>
-                            <constraint firstItem="5Zt-Iv-NEo" firstAttribute="centerY" secondItem="3ef-7P-PrA" secondAttribute="centerY" id="0Sp-Sh-k0w"/>
-                            <constraint firstItem="5Zt-Iv-NEo" firstAttribute="leading" secondItem="Wja-tW-zwc" secondAttribute="leading" constant="15" id="7j5-pF-Gr8"/>
+                            <constraint firstItem="5Zt-Iv-NEo" firstAttribute="leading" secondItem="Wja-tW-zwc" secondAttribute="leading" constant="18" id="7j5-pF-Gr8"/>
                             <constraint firstAttribute="trailing" secondItem="3ef-7P-PrA" secondAttribute="trailing" constant="15" id="A7l-13-pqy"/>
+                            <constraint firstItem="5Zt-Iv-NEo" firstAttribute="top" secondItem="Wja-tW-zwc" secondAttribute="top" constant="17" id="DAP-mV-yHh"/>
                             <constraint firstItem="5nu-gR-7Wz" firstAttribute="top" secondItem="5Zt-Iv-NEo" secondAttribute="bottom" constant="10" id="NfR-Ra-HMm"/>
-                            <constraint firstItem="3ef-7P-PrA" firstAttribute="top" secondItem="Wja-tW-zwc" secondAttribute="top" constant="20" id="odM-NJ-cFG"/>
+                            <constraint firstItem="3ef-7P-PrA" firstAttribute="centerY" secondItem="Wja-tW-zwc" secondAttribute="centerY" id="hOW-hk-1yF"/>
                             <constraint firstItem="5nu-gR-7Wz" firstAttribute="leading" secondItem="5Zt-Iv-NEo" secondAttribute="leading" id="pqL-5M-uSV"/>
                         </constraints>
                         <userDefinedRuntimeAttributes>

+ 4 - 1
smartRhino/Project/VCModel/Source/Controller/GroupSquareVC.m

@@ -33,6 +33,9 @@
     [self.SearchView  mas_makeConstraints:^(MASConstraintMaker *make) {
         make.edges.mas_offset(UIEdgeInsetsZero);
     }];
+    [self.SearchView.button setAction:^{
+        NSLog(@"SearchView.button");
+    }];
     self.leftTable.delegate = self;
     self.leftTable.dataSource = self;
     self.rightTable.delegate = self;
@@ -144,7 +147,7 @@
 - (MyTDGroupView *)SearchView
 {
     if (!_SearchView) {
-        _SearchView = [[MyTDGroupView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, 36)];
+        _SearchView = [[MyTDGroupView alloc] init];
     }
     return _SearchView;
 }

+ 49 - 7
smartRhino/Project/VCModel/Source/Controller/SourceHomeVC.m

@@ -32,6 +32,7 @@
 #import "MyTDTopicSearchVC.h"
 #import "NoteBookShareVC.h"
 #import "SourceGroupVC.h"
+#import "ChatMsgListVC.h"
 
 @interface SourceHomeVC ()<UITableViewDelegate,UITableViewDataSource,UICollectionViewDelegate,UICollectionViewDataSource,NoteBookShareVCDelegate>
 @property (weak, nonatomic) IBOutlet UITableView *tableView;
@@ -97,6 +98,7 @@
     }];
     [self initCollectionData];
     [self getData];
+    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(pushSubViewController:) name:DRAWERPUSHVC object:nil];
 }
 - (void)getData
 {
@@ -158,8 +160,8 @@
             }break;
             default:{
                 model.title = @"私信";
-                model.imgName = @"chatmsg_sixin_icon";
-                model.notImgName = @"chatmsg_tz_hui_icon";
+                model.imgName = @"Common_sixin_icon";
+                model.notImgName = @"Common_sixin_icon";
                 model.type = ChatMenuSiXinType;
                 model.readNum = 0;
                 model.showEditFlag = YES;
@@ -168,6 +170,7 @@
         [array addObject:model];
     }
     self.collectionDataSource = array;
+    [self.tableView reloadData];
 }
 #pragma mark - UITableViewDelegate
 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
@@ -203,7 +206,7 @@
             return 0.f;
         }break;
         default:{
-            return 28.f;
+            return 36.f;
         }break;
     }
 }
@@ -218,7 +221,7 @@
             UIView * view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, 36)];
             view.backgroundColor = UIColorHex(0xF5F5F5);
             UILabel * label = [UILabel new];
-            label.font = [UIFont systemFontOfSize:13];
+            label.font = [UIFont systemFontOfSize:15];
             label.textColor = UIColorHex(0x666666);
             label.text = @"遇 见";
             [view addSubview:label];
@@ -779,9 +782,9 @@
             [self.navigationController pushViewController:vc animated:YES];
         }break;
         case ChatMenuSiXinType:{
-//            GroupSquareVC * vc = [GroupSquareVC initGroupSquareVC];
-//            vc.hidesBottomBarWhenPushed = YES;
-//            [self.navigationController pushViewController:vc animated:YES];
+            ChatMsgListVC * vc = [ChatMsgListVC initChatMsgListVC];
+            vc.hidesBottomBarWhenPushed = YES;
+            [self.navigationController pushViewController:vc animated:YES];
         }break;
         default:
             break;
@@ -1166,4 +1169,43 @@
     [attributedString addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlineStyleNone] range:NSMakeRange(0, str.length)];
     return attributedString;
 }
+
+#pragma mark - 接收Drawer通知跳转到对应的子页面
+- (void)pushSubViewController:(NSNotification *)notification
+{
+    ///@"站内信", @"通知", @"收藏",@"笔记", @"设置"
+    NSInteger index = [[notification.userInfo objectForKey:VCINDEX] integerValue];
+    switch (index) {
+        case 0:
+        {
+            [self pushInterLeterVC];
+        }
+            break;
+        case 1:
+        {
+            [self pushChatMsgNoticeVC];
+        }
+            break;
+        default:
+            break;
+    }
+}
+#pragma mark - 跳转到站内信、通知页面
+- (void)pushInterLeterVC
+{
+    TDInterLeterHomeViewController *vc = [TDInterLeterHomeViewController initChatMsgNoticeVC];
+    vc.interLeterFolderId = 0;
+    vc.hidesBottomBarWhenPushed = YES;
+    [self.navigationController pushViewController:vc animated:YES];
+}
+- (void)pushChatMsgNoticeVC
+{
+    ChatMsgListVC *vc = [ChatMsgListVC initChatMsgListVC];
+    vc.hidesBottomBarWhenPushed = YES;
+    [self.navigationController pushViewController:vc animated:YES];
+}
+- (void)dealloc
+{
+    [[NSNotificationCenter defaultCenter] removeObserver:self];
+}
 @end

+ 41 - 23
smartRhino/Project/VCModel/WorkFlow/DownFileViewController.m

@@ -203,36 +203,54 @@
     [[UtilsTools getWindow] addSubview:self.drawerView];
     WS(weakSelf);
     self.drawerView.SelectDrawerBlock = ^(NSIndexPath * _Nonnull indexPath) {
+        if (![weakSelf.tabBarController isKindOfClass:[TabBarController class]]) {
+            [TabBarController sharedTabBarController].tabBar.hidden = NO;
+            [weakSelf.tabBarController.navigationController popViewControllerAnimated:NO];
+        }
         if ([weakSelf.navigationController.viewControllers count] > 1) {
             [weakSelf.navigationController popToRootViewControllerAnimated:NO];
         }
-        if (indexPath.section == 0) {
-            [[TabBarController sharedTabBarController] setSelectedIndex:indexPath.row];
-        }else{
-            ///@"站内信", @"通知", @"收藏",@"笔记", @"设置"
-            switch (indexPath.row) {
-                case 0:
-                {
-                    [[TabBarController sharedTabBarController] setSelectedIndex:2];
-                }
-                    break;
-                case 1:
-                {
-                    [[TabBarController sharedTabBarController] setSelectedIndex:2];
-                }
-                    break;
-                default:
-                {
-                    [[TabBarController sharedTabBarController] setSelectedIndex:3];
+        switch (indexPath.section) {
+            case 0:
+            {
+                [[TabBarController sharedTabBarController] setSelectedIndex:indexPath.row];
+            }
+                break;
+            case 1:
+            {
+                switch (indexPath.row) {
+                    case 0:
+                    {
+                        [[TabBarController sharedTabBarController] setSelectedIndex:2];
+                    }
+                        break;
+                    case 1:
+                    {
+                        [[TabBarController sharedTabBarController] setSelectedIndex:2];
+                    }
+                        break;
+                    default:
+                    {
+                        [[TabBarController sharedTabBarController] setSelectedIndex:3];
+                    }
+                        break;
                 }
-                    break;
+                dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+                    [[NSNotificationCenter defaultCenter] postNotificationName:DRAWERPUSHVC object:nil userInfo:@{VCINDEX:@(indexPath.row)}];
+                });
+            }
+                break;
+            default:
+            {
+                [[TabBarController sharedTabBarController] setSelectedIndex:3];
+                dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+                    [[NSNotificationCenter defaultCenter] postNotificationName:DRAWERPUSHVC object:nil userInfo:@{VCINDEX:@(4 + indexPath.row)}];
+                });
             }
-            dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
-                [[NSNotificationCenter defaultCenter] postNotificationName:DRAWERPUSHVC object:nil userInfo:@{VCINDEX:@(indexPath.row)}];
-            });
+                break;
         }
     };
-    self.drawerView.frame = CGRectMake(0,0, SCREEN_WIDTH, SCREEN_HEIGHT);
+    self.drawerView.frame = CGRectMake(0,0, SCREEN_WIDTH, SCREEN_HEIGHT);// - kNavigationHeight
 }
 - (DrawerView *)drawerView {
     if(!_drawerView) {

+ 41 - 23
smartRhino/Project/VCModel/WorkFlow/MyApprovalPageDetail.m

@@ -738,36 +738,54 @@
     [[UtilsTools getWindow] addSubview:self.drawerView];
     WS(weakSelf);
     self.drawerView.SelectDrawerBlock = ^(NSIndexPath * _Nonnull indexPath) {
+        if (![weakSelf.tabBarController isKindOfClass:[TabBarController class]]) {
+            [TabBarController sharedTabBarController].tabBar.hidden = NO;
+            [weakSelf.tabBarController.navigationController popViewControllerAnimated:NO];
+        }
         if ([weakSelf.navigationController.viewControllers count] > 1) {
             [weakSelf.navigationController popToRootViewControllerAnimated:NO];
         }
-        if (indexPath.section == 0) {
-            [[TabBarController sharedTabBarController] setSelectedIndex:indexPath.row];
-        }else{
-            ///@"站内信", @"通知", @"收藏",@"笔记", @"设置"
-            switch (indexPath.row) {
-                case 0:
-                {
-                    [[TabBarController sharedTabBarController] setSelectedIndex:2];
-                }
-                    break;
-                case 1:
-                {
-                    [[TabBarController sharedTabBarController] setSelectedIndex:2];
-                }
-                    break;
-                default:
-                {
-                    [[TabBarController sharedTabBarController] setSelectedIndex:3];
+        switch (indexPath.section) {
+            case 0:
+            {
+                [[TabBarController sharedTabBarController] setSelectedIndex:indexPath.row];
+            }
+                break;
+            case 1:
+            {
+                switch (indexPath.row) {
+                    case 0:
+                    {
+                        [[TabBarController sharedTabBarController] setSelectedIndex:2];
+                    }
+                        break;
+                    case 1:
+                    {
+                        [[TabBarController sharedTabBarController] setSelectedIndex:2];
+                    }
+                        break;
+                    default:
+                    {
+                        [[TabBarController sharedTabBarController] setSelectedIndex:3];
+                    }
+                        break;
                 }
-                    break;
+                dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+                    [[NSNotificationCenter defaultCenter] postNotificationName:DRAWERPUSHVC object:nil userInfo:@{VCINDEX:@(indexPath.row)}];
+                });
+            }
+                break;
+            default:
+            {
+                [[TabBarController sharedTabBarController] setSelectedIndex:3];
+                dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+                    [[NSNotificationCenter defaultCenter] postNotificationName:DRAWERPUSHVC object:nil userInfo:@{VCINDEX:@(4 + indexPath.row)}];
+                });
             }
-            dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
-                [[NSNotificationCenter defaultCenter] postNotificationName:DRAWERPUSHVC object:nil userInfo:@{VCINDEX:@(indexPath.row)}];
-            });
+                break;
         }
     };
-    self.drawerView.frame = CGRectMake(0,0, SCREEN_WIDTH, SCREEN_HEIGHT);
+    self.drawerView.frame = CGRectMake(0,0, SCREEN_WIDTH, SCREEN_HEIGHT);// - kNavigationHeight
 }
 - (MyApprovalDetailModel *)currentModel{
     if (!_currentModel) {

+ 41 - 23
smartRhino/Project/VCModel/WorkFlow/MyApprovalPageVC.m

@@ -236,36 +236,54 @@
     [[UtilsTools getWindow] addSubview:self.drawerView];
     WS(weakSelf);
     self.drawerView.SelectDrawerBlock = ^(NSIndexPath * _Nonnull indexPath) {
+        if (![weakSelf.tabBarController isKindOfClass:[TabBarController class]]) {
+            [TabBarController sharedTabBarController].tabBar.hidden = NO;
+            [weakSelf.tabBarController.navigationController popViewControllerAnimated:NO];
+        }
         if ([weakSelf.navigationController.viewControllers count] > 1) {
             [weakSelf.navigationController popToRootViewControllerAnimated:NO];
         }
-        if (indexPath.section == 0) {
-            [[TabBarController sharedTabBarController] setSelectedIndex:indexPath.row];
-        }else{
-            ///@"站内信", @"通知", @"收藏",@"笔记", @"设置"
-            switch (indexPath.row) {
-                case 0:
-                {
-                    [[TabBarController sharedTabBarController] setSelectedIndex:2];
-                }
-                    break;
-                case 1:
-                {
-                    [[TabBarController sharedTabBarController] setSelectedIndex:2];
-                }
-                    break;
-                default:
-                {
-                    [[TabBarController sharedTabBarController] setSelectedIndex:3];
+        switch (indexPath.section) {
+            case 0:
+            {
+                [[TabBarController sharedTabBarController] setSelectedIndex:indexPath.row];
+            }
+                break;
+            case 1:
+            {
+                switch (indexPath.row) {
+                    case 0:
+                    {
+                        [[TabBarController sharedTabBarController] setSelectedIndex:2];
+                    }
+                        break;
+                    case 1:
+                    {
+                        [[TabBarController sharedTabBarController] setSelectedIndex:2];
+                    }
+                        break;
+                    default:
+                    {
+                        [[TabBarController sharedTabBarController] setSelectedIndex:3];
+                    }
+                        break;
                 }
-                    break;
+                dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+                    [[NSNotificationCenter defaultCenter] postNotificationName:DRAWERPUSHVC object:nil userInfo:@{VCINDEX:@(indexPath.row)}];
+                });
+            }
+                break;
+            default:
+            {
+                [[TabBarController sharedTabBarController] setSelectedIndex:3];
+                dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+                    [[NSNotificationCenter defaultCenter] postNotificationName:DRAWERPUSHVC object:nil userInfo:@{VCINDEX:@(4 + indexPath.row)}];
+                });
             }
-            dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
-                [[NSNotificationCenter defaultCenter] postNotificationName:DRAWERPUSHVC object:nil userInfo:@{VCINDEX:@(indexPath.row)}];
-            });
+                break;
         }
     };
-    self.drawerView.frame = CGRectMake(0,0, SCREEN_WIDTH, SCREEN_HEIGHT);
+    self.drawerView.frame = CGRectMake(0,0, SCREEN_WIDTH, SCREEN_HEIGHT);// - kNavigationHeight
 }
 
 - (void)viewWillDisappear:(BOOL)animated{

+ 41 - 23
smartRhino/Project/VCModel/WorkFlow/MyWorkWordVC.m

@@ -111,36 +111,54 @@
     [[UtilsTools getWindow] addSubview:self.drawerView];
     WS(weakSelf);
     self.drawerView.SelectDrawerBlock = ^(NSIndexPath * _Nonnull indexPath) {
+        if (![weakSelf.tabBarController isKindOfClass:[TabBarController class]]) {
+            [TabBarController sharedTabBarController].tabBar.hidden = NO;
+            [weakSelf.tabBarController.navigationController popViewControllerAnimated:NO];
+        }
         if ([weakSelf.navigationController.viewControllers count] > 1) {
             [weakSelf.navigationController popToRootViewControllerAnimated:NO];
         }
-        if (indexPath.section == 0) {
-            [[TabBarController sharedTabBarController] setSelectedIndex:indexPath.row];
-        }else{
-            ///@"站内信", @"通知", @"收藏",@"笔记", @"设置"
-            switch (indexPath.row) {
-                case 0:
-                {
-                    [[TabBarController sharedTabBarController] setSelectedIndex:2];
-                }
-                    break;
-                case 1:
-                {
-                    [[TabBarController sharedTabBarController] setSelectedIndex:2];
-                }
-                    break;
-                default:
-                {
-                    [[TabBarController sharedTabBarController] setSelectedIndex:3];
+        switch (indexPath.section) {
+            case 0:
+            {
+                [[TabBarController sharedTabBarController] setSelectedIndex:indexPath.row];
+            }
+                break;
+            case 1:
+            {
+                switch (indexPath.row) {
+                    case 0:
+                    {
+                        [[TabBarController sharedTabBarController] setSelectedIndex:2];
+                    }
+                        break;
+                    case 1:
+                    {
+                        [[TabBarController sharedTabBarController] setSelectedIndex:2];
+                    }
+                        break;
+                    default:
+                    {
+                        [[TabBarController sharedTabBarController] setSelectedIndex:3];
+                    }
+                        break;
                 }
-                    break;
+                dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+                    [[NSNotificationCenter defaultCenter] postNotificationName:DRAWERPUSHVC object:nil userInfo:@{VCINDEX:@(indexPath.row)}];
+                });
+            }
+                break;
+            default:
+            {
+                [[TabBarController sharedTabBarController] setSelectedIndex:3];
+                dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+                    [[NSNotificationCenter defaultCenter] postNotificationName:DRAWERPUSHVC object:nil userInfo:@{VCINDEX:@(4 + indexPath.row)}];
+                });
             }
-            dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
-                [[NSNotificationCenter defaultCenter] postNotificationName:DRAWERPUSHVC object:nil userInfo:@{VCINDEX:@(indexPath.row)}];
-            });
+                break;
         }
     };
-    self.drawerView.frame = CGRectMake(0,0, SCREEN_WIDTH, SCREEN_HEIGHT);
+    self.drawerView.frame = CGRectMake(0,0, SCREEN_WIDTH, SCREEN_HEIGHT);// - kNavigationHeight
 }
 
 

+ 1 - 1
smartRhino/Project/VCModel/common/Controller/CommonHomeVC.m

@@ -142,7 +142,7 @@
             UIView * view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, 36)];
             view.backgroundColor = UIColorHex(0xF5F5F5);
             UILabel * label = [UILabel new];
-            label.font = [UIFont systemFontOfSize:13];
+            label.font = [UIFont systemFontOfSize:15];
             label.textColor = UIColorHex(0x666666);
             label.text = @"最新收藏";
             [view addSubview:label];