房间内的部分UI
3
Podfile
@@ -31,6 +31,9 @@ target 'xplan-ios' do
|
||||
pod 'Base64'
|
||||
#统计
|
||||
pod 'BaiduMobStatCodeless', '~> 5.3.5'
|
||||
#文字自动滚动
|
||||
pod 'MarqueeLabel-ObjC'
|
||||
|
||||
#登录的
|
||||
pod 'mob_sharesdk'
|
||||
pod 'mob_sharesdk/ShareSDKPlatforms/QQ'
|
||||
|
@@ -19,6 +19,7 @@ PODS:
|
||||
- FFPopup (1.1.5)
|
||||
- HappyDNS (0.3.17)
|
||||
- IAPHelper (1.1)
|
||||
- MarqueeLabel-ObjC (3.3.0)
|
||||
- Masonry (1.1.0)
|
||||
- MBProgressHUD (1.2.0)
|
||||
- MJExtension (3.3.0)
|
||||
@@ -56,6 +57,7 @@ DEPENDENCIES:
|
||||
- Base64
|
||||
- FFPopup
|
||||
- IAPHelper
|
||||
- MarqueeLabel-ObjC
|
||||
- Masonry
|
||||
- MBProgressHUD
|
||||
- MJExtension
|
||||
@@ -80,6 +82,7 @@ SPEC REPOS:
|
||||
- FFPopup
|
||||
- HappyDNS
|
||||
- IAPHelper
|
||||
- MarqueeLabel-ObjC
|
||||
- Masonry
|
||||
- MBProgressHUD
|
||||
- MJExtension
|
||||
@@ -101,6 +104,7 @@ SPEC CHECKSUMS:
|
||||
FFPopup: a208dcee8db3e54ec4a88fcd6481f6f5d85b7a83
|
||||
HappyDNS: 848ef73e24f2b0e2752064223ce2dc0dd88900ea
|
||||
IAPHelper: fd74f53b0ac142eed085777b88b86a11746a2dd4
|
||||
MarqueeLabel-ObjC: 696eaa82e4fcc7fb53e4fdf37ac138f03bf022d6
|
||||
Masonry: 678fab65091a9290e40e2832a55e7ab731aad201
|
||||
MBProgressHUD: 3ee5efcc380f6a79a7cc9b363dd669c5e1ae7406
|
||||
MJExtension: 01704cca2b60a214c10761b6491eab74069d68a9
|
||||
@@ -115,6 +119,6 @@ SPEC CHECKSUMS:
|
||||
SZTextView: 094dc6acc9beec537685c545d6e3e0d4975174e1
|
||||
YYText: 5c461d709e24d55a182d1441c41dc639a18a4849
|
||||
|
||||
PODFILE CHECKSUM: 48063c5a85dfa0437fffd3a123ff709292daa45e
|
||||
PODFILE CHECKSUM: 111c1baf4d2041d86b97a47854c455685b233ed1
|
||||
|
||||
COCOAPODS: 1.10.1
|
||||
|
@@ -83,6 +83,7 @@
|
||||
18E7B33226F317A20064BC9B /* XPWebViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 18E7B33126F317A20064BC9B /* XPWebViewController.m */; };
|
||||
73FFADDC93E195344047A2EC /* Pods_xplan_ios.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CACF623970097D653132D69A /* Pods_xplan_ios.framework */; };
|
||||
9B0E1C5926E77022005D4442 /* BaseNavigationController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B0E1C5826E77022005D4442 /* BaseNavigationController.m */; };
|
||||
E80487652717DDD9008595F2 /* XPRoomMenuItem.m in Sources */ = {isa = PBXBuildFile; fileRef = E80487642717DDD9008595F2 /* XPRoomMenuItem.m */; };
|
||||
E81366E326F0A1FC0076364C /* LoginBindPhoneViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E81366E226F0A1FC0076364C /* LoginBindPhoneViewController.m */; };
|
||||
E81366E726F0A49E0076364C /* NSString+Regex.m in Sources */ = {isa = PBXBuildFile; fileRef = E81366E626F0A49E0076364C /* NSString+Regex.m */; };
|
||||
E81366F326F0B7C80076364C /* LoginFullInfoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E81366F226F0B7C80076364C /* LoginFullInfoViewController.m */; };
|
||||
@@ -163,6 +164,20 @@
|
||||
E8AC723726F49982007D6E91 /* XPMineNotificaProtocol.h in Sources */ = {isa = PBXBuildFile; fileRef = E8AC723626F49957007D6E91 /* XPMineNotificaProtocol.h */; };
|
||||
E8AC723A26F49AAE007D6E91 /* XPMineNotifyStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = E8AC723926F49AAE007D6E91 /* XPMineNotifyStatus.m */; };
|
||||
E8AC723D26F4B6AA007D6E91 /* XPLoginBindPhoneResultViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E8AC723C26F4B6AA007D6E91 /* XPLoginBindPhoneResultViewController.m */; };
|
||||
E8AE42642715392E00BEEBB2 /* XPRoomInfoManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E8AE42632715392E00BEEBB2 /* XPRoomInfoManager.m */; };
|
||||
E8AE426A2715395F00BEEBB2 /* XPRoomMessageManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E8AE42692715395F00BEEBB2 /* XPRoomMessageManager.m */; };
|
||||
E8AE426D2715397100BEEBB2 /* XPRoomMenuManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E8AE426C2715397100BEEBB2 /* XPRoomMenuManager.m */; };
|
||||
E8AE42702715398400BEEBB2 /* XPRoomActivityManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E8AE426F2715398400BEEBB2 /* XPRoomActivityManager.m */; };
|
||||
E8AE427327153A3500BEEBB2 /* XPRoomActivityView.m in Sources */ = {isa = PBXBuildFile; fileRef = E8AE427227153A3500BEEBB2 /* XPRoomActivityView.m */; };
|
||||
E8AE427627153B7E00BEEBB2 /* XPRoomPositionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E8AE427527153B7E00BEEBB2 /* XPRoomPositionManager.m */; };
|
||||
E8AEAED6271412EC0017FCE0 /* XPRoomViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E8AEAED5271412EC0017FCE0 /* XPRoomViewController.m */; };
|
||||
E8AEAEE1271418AA0017FCE0 /* XPRoomBackUIManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E8AEAEE0271418AA0017FCE0 /* XPRoomBackUIManager.m */; };
|
||||
E8AEAEE4271418DA0017FCE0 /* XPRoomBaseManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E8AEAEE3271418DA0017FCE0 /* XPRoomBaseManager.m */; };
|
||||
E8AEAEED27141AE20017FCE0 /* XPRoomBackUIView.m in Sources */ = {isa = PBXBuildFile; fileRef = E8AEAEEC27141AE20017FCE0 /* XPRoomBackUIView.m */; };
|
||||
E8AEAEF027141C430017FCE0 /* XPRoomBottomMenuView.m in Sources */ = {isa = PBXBuildFile; fileRef = E8AEAEEF27141C430017FCE0 /* XPRoomBottomMenuView.m */; };
|
||||
E8AEAEF327141C7C0017FCE0 /* XPRoomMessageView.m in Sources */ = {isa = PBXBuildFile; fileRef = E8AEAEF227141C7C0017FCE0 /* XPRoomMessageView.m */; };
|
||||
E8AEAEF627141C910017FCE0 /* XPRoomPositionView.m in Sources */ = {isa = PBXBuildFile; fileRef = E8AEAEF527141C910017FCE0 /* XPRoomPositionView.m */; };
|
||||
E8AEAEF927141CA30017FCE0 /* XPRoomInfoView.m in Sources */ = {isa = PBXBuildFile; fileRef = E8AEAEF827141CA30017FCE0 /* XPRoomInfoView.m */; };
|
||||
E8B825B726E9A7D8009E8E9F /* BaseObject.m in Sources */ = {isa = PBXBuildFile; fileRef = E8B825B626E9A7D8009E8E9F /* BaseObject.m */; };
|
||||
E8B825BF26E9E57D009E8E9F /* LoginTicketInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = E8B825BE26E9E57D009E8E9F /* LoginTicketInfo.m */; };
|
||||
E8B825C226EA00DF009E8E9F /* LoginVerifCodePresent.m in Sources */ = {isa = PBXBuildFile; fileRef = E8B825C126EA00DF009E8E9F /* LoginVerifCodePresent.m */; };
|
||||
@@ -357,6 +372,8 @@
|
||||
9B0E1C5826E77022005D4442 /* BaseNavigationController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BaseNavigationController.m; sourceTree = "<group>"; };
|
||||
B66633E061B1B34177CD011C /* Pods-xplan-ios.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-xplan-ios.release.xcconfig"; path = "Target Support Files/Pods-xplan-ios/Pods-xplan-ios.release.xcconfig"; sourceTree = "<group>"; };
|
||||
CACF623970097D653132D69A /* Pods_xplan_ios.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_xplan_ios.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
E80487632717DDD9008595F2 /* XPRoomMenuItem.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomMenuItem.h; sourceTree = "<group>"; };
|
||||
E80487642717DDD9008595F2 /* XPRoomMenuItem.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomMenuItem.m; sourceTree = "<group>"; };
|
||||
E81366E126F0A1FC0076364C /* LoginBindPhoneViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LoginBindPhoneViewController.h; sourceTree = "<group>"; };
|
||||
E81366E226F0A1FC0076364C /* LoginBindPhoneViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LoginBindPhoneViewController.m; sourceTree = "<group>"; };
|
||||
E81366E526F0A49E0076364C /* NSString+Regex.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NSString+Regex.h"; sourceTree = "<group>"; };
|
||||
@@ -505,6 +522,34 @@
|
||||
E8AC723926F49AAE007D6E91 /* XPMineNotifyStatus.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMineNotifyStatus.m; sourceTree = "<group>"; };
|
||||
E8AC723B26F4B6AA007D6E91 /* XPLoginBindPhoneResultViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPLoginBindPhoneResultViewController.h; sourceTree = "<group>"; };
|
||||
E8AC723C26F4B6AA007D6E91 /* XPLoginBindPhoneResultViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPLoginBindPhoneResultViewController.m; sourceTree = "<group>"; };
|
||||
E8AE42622715392E00BEEBB2 /* XPRoomInfoManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomInfoManager.h; sourceTree = "<group>"; };
|
||||
E8AE42632715392E00BEEBB2 /* XPRoomInfoManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomInfoManager.m; sourceTree = "<group>"; };
|
||||
E8AE42682715395F00BEEBB2 /* XPRoomMessageManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomMessageManager.h; sourceTree = "<group>"; };
|
||||
E8AE42692715395F00BEEBB2 /* XPRoomMessageManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomMessageManager.m; sourceTree = "<group>"; };
|
||||
E8AE426B2715397100BEEBB2 /* XPRoomMenuManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomMenuManager.h; sourceTree = "<group>"; };
|
||||
E8AE426C2715397100BEEBB2 /* XPRoomMenuManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomMenuManager.m; sourceTree = "<group>"; };
|
||||
E8AE426E2715398400BEEBB2 /* XPRoomActivityManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomActivityManager.h; sourceTree = "<group>"; };
|
||||
E8AE426F2715398400BEEBB2 /* XPRoomActivityManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomActivityManager.m; sourceTree = "<group>"; };
|
||||
E8AE427127153A3500BEEBB2 /* XPRoomActivityView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomActivityView.h; sourceTree = "<group>"; };
|
||||
E8AE427227153A3500BEEBB2 /* XPRoomActivityView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomActivityView.m; sourceTree = "<group>"; };
|
||||
E8AE427427153B7E00BEEBB2 /* XPRoomPositionManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomPositionManager.h; sourceTree = "<group>"; };
|
||||
E8AE427527153B7E00BEEBB2 /* XPRoomPositionManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomPositionManager.m; sourceTree = "<group>"; };
|
||||
E8AEAED4271412EC0017FCE0 /* XPRoomViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomViewController.h; sourceTree = "<group>"; };
|
||||
E8AEAED5271412EC0017FCE0 /* XPRoomViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomViewController.m; sourceTree = "<group>"; };
|
||||
E8AEAEDF271418AA0017FCE0 /* XPRoomBackUIManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomBackUIManager.h; sourceTree = "<group>"; };
|
||||
E8AEAEE0271418AA0017FCE0 /* XPRoomBackUIManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomBackUIManager.m; sourceTree = "<group>"; };
|
||||
E8AEAEE2271418DA0017FCE0 /* XPRoomBaseManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomBaseManager.h; sourceTree = "<group>"; };
|
||||
E8AEAEE3271418DA0017FCE0 /* XPRoomBaseManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomBaseManager.m; sourceTree = "<group>"; };
|
||||
E8AEAEEB27141AE20017FCE0 /* XPRoomBackUIView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomBackUIView.h; sourceTree = "<group>"; };
|
||||
E8AEAEEC27141AE20017FCE0 /* XPRoomBackUIView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomBackUIView.m; sourceTree = "<group>"; };
|
||||
E8AEAEEE27141C430017FCE0 /* XPRoomBottomMenuView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomBottomMenuView.h; sourceTree = "<group>"; };
|
||||
E8AEAEEF27141C430017FCE0 /* XPRoomBottomMenuView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomBottomMenuView.m; sourceTree = "<group>"; };
|
||||
E8AEAEF127141C7C0017FCE0 /* XPRoomMessageView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomMessageView.h; sourceTree = "<group>"; };
|
||||
E8AEAEF227141C7C0017FCE0 /* XPRoomMessageView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomMessageView.m; sourceTree = "<group>"; };
|
||||
E8AEAEF427141C910017FCE0 /* XPRoomPositionView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomPositionView.h; sourceTree = "<group>"; };
|
||||
E8AEAEF527141C910017FCE0 /* XPRoomPositionView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomPositionView.m; sourceTree = "<group>"; };
|
||||
E8AEAEF727141CA30017FCE0 /* XPRoomInfoView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomInfoView.h; sourceTree = "<group>"; };
|
||||
E8AEAEF827141CA30017FCE0 /* XPRoomInfoView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomInfoView.m; sourceTree = "<group>"; };
|
||||
E8B825B526E9A7D8009E8E9F /* BaseObject.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BaseObject.h; sourceTree = "<group>"; };
|
||||
E8B825B626E9A7D8009E8E9F /* BaseObject.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BaseObject.m; sourceTree = "<group>"; };
|
||||
E8B825BD26E9E57D009E8E9F /* LoginTicketInfo.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LoginTicketInfo.h; sourceTree = "<group>"; };
|
||||
@@ -852,6 +897,7 @@
|
||||
189DD56126DE45F800AB55B1 /* Main */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E8AEAED3271412D00017FCE0 /* Room */,
|
||||
E8E70D6E26F2EB1200F03460 /* Mine */,
|
||||
18E7B1B426E8B2960064BC9B /* Tabbar */,
|
||||
18E7B1FD26E8CC510064BC9B /* Match */,
|
||||
@@ -1110,6 +1156,36 @@
|
||||
path = Pods;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E804875F2717DD70008595F2 /* Model */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E80487632717DDD9008595F2 /* XPRoomMenuItem.h */,
|
||||
E80487642717DDD9008595F2 /* XPRoomMenuItem.m */,
|
||||
);
|
||||
path = Model;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E80487602717DD89008595F2 /* Api */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
);
|
||||
path = Api;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E80487612717DD92008595F2 /* Presenter */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
);
|
||||
path = Presenter;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E80487622717DDAE008595F2 /* Protocol */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
);
|
||||
path = Protocol;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E81366E426F0A4820076364C /* NSString */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@@ -1305,6 +1381,157 @@
|
||||
path = UIImageView;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E8AEAED3271412D00017FCE0 /* Room */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E80487622717DDAE008595F2 /* Protocol */,
|
||||
E80487612717DD92008595F2 /* Presenter */,
|
||||
E80487602717DD89008595F2 /* Api */,
|
||||
E804875F2717DD70008595F2 /* Model */,
|
||||
E8AEAED8271413530017FCE0 /* View */,
|
||||
E8AEAED7271413210017FCE0 /* UIManager */,
|
||||
E8AEAED4271412EC0017FCE0 /* XPRoomViewController.h */,
|
||||
E8AEAED5271412EC0017FCE0 /* XPRoomViewController.m */,
|
||||
);
|
||||
path = Room;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E8AEAED7271413210017FCE0 /* UIManager */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E8AEAEDE271414FB0017FCE0 /* ActivityManager */,
|
||||
E8AEAEDD271414DB0017FCE0 /* MenuManager */,
|
||||
E8AEAEDC271414CA0017FCE0 /* MessageManager */,
|
||||
E8AEAEDB271414B60017FCE0 /* PositionManager */,
|
||||
E8AEAEDA2714148C0017FCE0 /* RoomInfoManager */,
|
||||
E8AEAED92714146B0017FCE0 /* BaseUIManager */,
|
||||
);
|
||||
path = UIManager;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E8AEAED8271413530017FCE0 /* View */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E8AEAEE527141ACC0017FCE0 /* ActivityView */,
|
||||
E8AEAEE727141ACC0017FCE0 /* BaseUIView */,
|
||||
E8AEAEE927141ACC0017FCE0 /* MenuView */,
|
||||
E8AEAEE627141ACC0017FCE0 /* MessageView */,
|
||||
E8AEAEEA27141ACC0017FCE0 /* PositionView */,
|
||||
E8AEAEE827141ACC0017FCE0 /* RoomInfoView */,
|
||||
);
|
||||
path = View;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E8AEAED92714146B0017FCE0 /* BaseUIManager */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E8AEAEDF271418AA0017FCE0 /* XPRoomBackUIManager.h */,
|
||||
E8AEAEE0271418AA0017FCE0 /* XPRoomBackUIManager.m */,
|
||||
E8AEAEE2271418DA0017FCE0 /* XPRoomBaseManager.h */,
|
||||
E8AEAEE3271418DA0017FCE0 /* XPRoomBaseManager.m */,
|
||||
);
|
||||
path = BaseUIManager;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E8AEAEDA2714148C0017FCE0 /* RoomInfoManager */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E8AE42622715392E00BEEBB2 /* XPRoomInfoManager.h */,
|
||||
E8AE42632715392E00BEEBB2 /* XPRoomInfoManager.m */,
|
||||
);
|
||||
path = RoomInfoManager;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E8AEAEDB271414B60017FCE0 /* PositionManager */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E8AE427427153B7E00BEEBB2 /* XPRoomPositionManager.h */,
|
||||
E8AE427527153B7E00BEEBB2 /* XPRoomPositionManager.m */,
|
||||
);
|
||||
path = PositionManager;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E8AEAEDC271414CA0017FCE0 /* MessageManager */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E8AE42682715395F00BEEBB2 /* XPRoomMessageManager.h */,
|
||||
E8AE42692715395F00BEEBB2 /* XPRoomMessageManager.m */,
|
||||
);
|
||||
path = MessageManager;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E8AEAEDD271414DB0017FCE0 /* MenuManager */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E8AE426B2715397100BEEBB2 /* XPRoomMenuManager.h */,
|
||||
E8AE426C2715397100BEEBB2 /* XPRoomMenuManager.m */,
|
||||
);
|
||||
path = MenuManager;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E8AEAEDE271414FB0017FCE0 /* ActivityManager */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E8AE426E2715398400BEEBB2 /* XPRoomActivityManager.h */,
|
||||
E8AE426F2715398400BEEBB2 /* XPRoomActivityManager.m */,
|
||||
);
|
||||
path = ActivityManager;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E8AEAEE527141ACC0017FCE0 /* ActivityView */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E8AE427127153A3500BEEBB2 /* XPRoomActivityView.h */,
|
||||
E8AE427227153A3500BEEBB2 /* XPRoomActivityView.m */,
|
||||
);
|
||||
path = ActivityView;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E8AEAEE627141ACC0017FCE0 /* MessageView */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E8AEAEF127141C7C0017FCE0 /* XPRoomMessageView.h */,
|
||||
E8AEAEF227141C7C0017FCE0 /* XPRoomMessageView.m */,
|
||||
);
|
||||
path = MessageView;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E8AEAEE727141ACC0017FCE0 /* BaseUIView */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E8AEAEEB27141AE20017FCE0 /* XPRoomBackUIView.h */,
|
||||
E8AEAEEC27141AE20017FCE0 /* XPRoomBackUIView.m */,
|
||||
);
|
||||
path = BaseUIView;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E8AEAEE827141ACC0017FCE0 /* RoomInfoView */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E8AEAEF727141CA30017FCE0 /* XPRoomInfoView.h */,
|
||||
E8AEAEF827141CA30017FCE0 /* XPRoomInfoView.m */,
|
||||
);
|
||||
path = RoomInfoView;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E8AEAEE927141ACC0017FCE0 /* MenuView */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E8AEAEEE27141C430017FCE0 /* XPRoomBottomMenuView.h */,
|
||||
E8AEAEEF27141C430017FCE0 /* XPRoomBottomMenuView.m */,
|
||||
);
|
||||
path = MenuView;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E8AEAEEA27141ACC0017FCE0 /* PositionView */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E8AEAEF427141C910017FCE0 /* XPRoomPositionView.h */,
|
||||
E8AEAEF527141C910017FCE0 /* XPRoomPositionView.m */,
|
||||
);
|
||||
path = PositionView;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E8B825BC26E9E520009E8E9F /* Model */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@@ -1743,6 +1970,7 @@
|
||||
E8AC721926F46E0B007D6E91 /* XPMineSettingItemModel.m in Sources */,
|
||||
189DD55A26DE39D200AB55B1 /* BaseMvpPresenter.m in Sources */,
|
||||
189DD6FF26E20E5900AB55B1 /* HttpRequestHelper.m in Sources */,
|
||||
E8AEAED6271412EC0017FCE0 /* XPRoomViewController.m in Sources */,
|
||||
E8E70D9226F2F60C00F03460 /* XPMineItemModel.m in Sources */,
|
||||
189DD74A26E21D8400AB55B1 /* SSKeychain.m in Sources */,
|
||||
E8B846CF26FDD96100A777FE /* XPMineRechageHeadView.m in Sources */,
|
||||
@@ -1750,10 +1978,12 @@
|
||||
E81C27AE26EF39AB0031E639 /* AppDelegate+ThirdConfig.m in Sources */,
|
||||
E8E70D8326F2F51A00F03460 /* XPMineHeadView.m in Sources */,
|
||||
E8B825D026EA3825009E8E9F /* LoginPasswordViewController.m in Sources */,
|
||||
E8AE42642715392E00BEEBB2 /* XPRoomInfoManager.m in Sources */,
|
||||
E8EEB90C26FC5EBC007C6EBA /* XPMineUserInfoEditModel.m in Sources */,
|
||||
18E7B31826F097E00064BC9B /* UserInfoModel.m in Sources */,
|
||||
E8AC721326F46ADD007D6E91 /* XPMineSettingViewController.m in Sources */,
|
||||
18E7B32126F098650064BC9B /* UserInfoSkillVo.m in Sources */,
|
||||
E8AE42702715398400BEEBB2 /* XPRoomActivityManager.m in Sources */,
|
||||
E8AC722726F482A4007D6E91 /* XPMineFeedbackPresenter.m in Sources */,
|
||||
186A534E26FC6ED900D67B2C /* TTPopupService.m in Sources */,
|
||||
E8AC722426F47E5E007D6E91 /* XPMineFeedbackViewController.m in Sources */,
|
||||
@@ -1791,9 +2021,12 @@
|
||||
E8EEB91426FC7786007C6EBA /* XPMineUserInfoNickViewController.m in Sources */,
|
||||
18E7B31B26F0982E0064BC9B /* UserExpand.m in Sources */,
|
||||
E824543526F57D6E00BE8163 /* XPLoginVerifBindPhoneViewController.m in Sources */,
|
||||
E8AEAEE4271418DA0017FCE0 /* XPRoomBaseManager.m in Sources */,
|
||||
E8B825CD26EA18C8009E8E9F /* ThemeColor.m in Sources */,
|
||||
E8AC720D26F435F5007D6E91 /* UIImageView+LoadImage.m in Sources */,
|
||||
E88B5CBD26FB3BDF00DA9178 /* XPTeenagerAlertView.m in Sources */,
|
||||
E8AEAEF327141C7C0017FCE0 /* XPRoomMessageView.m in Sources */,
|
||||
E8AE427327153A3500BEEBB2 /* XPRoomActivityView.m in Sources */,
|
||||
E86596432701611A00846EBD /* UIImage+ImageEffects.m in Sources */,
|
||||
E8CEA03D26EA3DE500644B44 /* LoginPasswordPresent.m in Sources */,
|
||||
E8E70D7726F2F15100F03460 /* XPMineViewController.m in Sources */,
|
||||
@@ -1805,6 +2038,7 @@
|
||||
E81C279326EB394D0031E639 /* LoginForgetPasswordViewController.m in Sources */,
|
||||
E81C278D26EAFAF60031E639 /* DESEncrypt.m in Sources */,
|
||||
E81366E726F0A49E0076364C /* NSString+Regex.m in Sources */,
|
||||
E8AE426A2715395F00BEEBB2 /* XPRoomMessageManager.m in Sources */,
|
||||
E8EEB90126FC31B6007C6EBA /* XPMineUserInfoPresenter.m in Sources */,
|
||||
189DD56526DE465A00AB55B1 /* LoginViewController.m in Sources */,
|
||||
E824544B26F5BBB800BE8163 /* XPMineModifPayPwdViewController.m in Sources */,
|
||||
@@ -1812,10 +2046,13 @@
|
||||
E88B5CAD26FB16A800DA9178 /* XPMineTeenagerDesView.m in Sources */,
|
||||
E824545126F5CE6E00BE8163 /* XPMineModifPayPwdPresenter.m in Sources */,
|
||||
E8EEB90F26FC6AB8007C6EBA /* XPMineUserInfoEditPresenter.m in Sources */,
|
||||
E8AEAEE1271418AA0017FCE0 /* XPRoomBackUIManager.m in Sources */,
|
||||
E8AC723A26F49AAE007D6E91 /* XPMineNotifyStatus.m in Sources */,
|
||||
18E7B33226F317A20064BC9B /* XPWebViewController.m in Sources */,
|
||||
E8AEAEF927141CA30017FCE0 /* XPRoomInfoView.m in Sources */,
|
||||
E8AC721C26F4720B007D6E91 /* XPMineSettingPresent.m in Sources */,
|
||||
E88B5CA526FB088600DA9178 /* XPMineTeenagerViewController.m in Sources */,
|
||||
E8AEAEF027141C430017FCE0 /* XPRoomBottomMenuView.m in Sources */,
|
||||
E8EEB90926FC579A007C6EBA /* XPMineUserInfoEditTableViewCell.m in Sources */,
|
||||
18C17A5D26F338F300C48E11 /* XplanFBFlutterViewContainer.m in Sources */,
|
||||
E89DA67527009ACD008483C1 /* XPMineRechargeNavView.m in Sources */,
|
||||
@@ -1834,6 +2071,7 @@
|
||||
E824546426F5FF1C00BE8163 /* XPMineResetPayPasswordPresenter.m in Sources */,
|
||||
E8B846BC26FD7C1200A777FE /* UploadImage.m in Sources */,
|
||||
186A534D26FC6ED900D67B2C /* TTActionSheetView.m in Sources */,
|
||||
E8AEAEED27141AE20017FCE0 /* XPRoomBackUIView.m in Sources */,
|
||||
E88B5CC126FB407B00DA9178 /* XPMineUserInfoViewController.m in Sources */,
|
||||
E824545926F5E65900BE8163 /* XPMineVerifIdentityView.m in Sources */,
|
||||
189DD74026E21C3F00AB55B1 /* YYUtility+App.m in Sources */,
|
||||
@@ -1845,8 +2083,10 @@
|
||||
E88B5CC526FB42B000DA9178 /* XPMineUserInfoHeaderView.m in Sources */,
|
||||
E8EEB8FB26FC2874007C6EBA /* XPMineUserInfoTableViewCell.m in Sources */,
|
||||
E8AC721626F46B06007D6E91 /* XPMineSettingTableViewCell.m in Sources */,
|
||||
E80487652717DDD9008595F2 /* XPRoomMenuItem.m in Sources */,
|
||||
189DD75026E21D9000AB55B1 /* GCDHelper.m in Sources */,
|
||||
186A534826FC6ED900D67B2C /* TTAlertButtonConfig.m in Sources */,
|
||||
E8AEAEF627141C910017FCE0 /* XPRoomPositionView.m in Sources */,
|
||||
E872308926E89BE000B90D4F /* LoginPhoneViewController.m in Sources */,
|
||||
18E7B29026EA0E6B0064BC9B /* FlutterBoost+Xplan.m in Sources */,
|
||||
E8B846DC26FDE24300A777FE /* RechargeListModel.m in Sources */,
|
||||
@@ -1854,7 +2094,9 @@
|
||||
E88B5CB826FB325200DA9178 /* XPMineTeenagerPwdPresenter.m in Sources */,
|
||||
E89DA66727006443008483C1 /* RechargeStorage.m in Sources */,
|
||||
189DD53F26DE255600AB55B1 /* main.m in Sources */,
|
||||
E8AE427627153B7E00BEEBB2 /* XPRoomPositionManager.m in Sources */,
|
||||
E872308D26E89DAA00B90D4F /* LoginInputView.m in Sources */,
|
||||
E8AE426D2715397100BEEBB2 /* XPRoomMenuManager.m in Sources */,
|
||||
189DD58F26DF97E700AB55B1 /* LoginPresenter.m in Sources */,
|
||||
E89DA67227008D59008483C1 /* WalletInfoModel.m in Sources */,
|
||||
189DD55026DE37F900AB55B1 /* MvpViewController.m in Sources */,
|
||||
|
@@ -0,0 +1,78 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "1250"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "189DD52826DE255300AB55B1"
|
||||
BuildableName = "xplan-ios.app"
|
||||
BlueprintName = "xplan-ios"
|
||||
ReferencedContainer = "container:xplan-ios.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
</Testables>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "189DD52826DE255300AB55B1"
|
||||
BuildableName = "xplan-ios.app"
|
||||
BlueprintName = "xplan-ios"
|
||||
ReferencedContainer = "container:xplan-ios.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "189DD52826DE255300AB55B1"
|
||||
BuildableName = "xplan-ios.app"
|
||||
BlueprintName = "xplan-ios"
|
||||
ReferencedContainer = "container:xplan-ios.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
6
xplan-ios/Assets.xcassets/Room/Activity/Contents.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
22
xplan-ios/Assets.xcassets/Room/Activity/room_activity_banner_normal.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_activity_banner_normal@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_activity_banner_normal@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 131 B |
After Width: | Height: | Size: 179 B |
22
xplan-ios/Assets.xcassets/Room/Activity/room_activity_banner_select.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_activity_banner_select@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_activity_banner_select@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 138 B |
After Width: | Height: | Size: 184 B |
6
xplan-ios/Assets.xcassets/Room/Contents.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
6
xplan-ios/Assets.xcassets/Room/Menu/Contents.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
22
xplan-ios/Assets.xcassets/Room/Menu/room_menu_face.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_menu_face@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_menu_face@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
xplan-ios/Assets.xcassets/Room/Menu/room_menu_face.imageset/room_menu_face@2x.png
vendored
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
xplan-ios/Assets.xcassets/Room/Menu/room_menu_face.imageset/room_menu_face@3x.png
vendored
Normal file
After Width: | Height: | Size: 1.9 KiB |
22
xplan-ios/Assets.xcassets/Room/Menu/room_menu_gift.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_menu_gift@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_menu_gift@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
xplan-ios/Assets.xcassets/Room/Menu/room_menu_gift.imageset/room_menu_gift@2x.png
vendored
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
xplan-ios/Assets.xcassets/Room/Menu/room_menu_gift.imageset/room_menu_gift@3x.png
vendored
Normal file
After Width: | Height: | Size: 2.9 KiB |
22
xplan-ios/Assets.xcassets/Room/Menu/room_menu_input_bg.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_menu_input_bg@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_menu_input_bg@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
xplan-ios/Assets.xcassets/Room/Menu/room_menu_input_bg.imageset/room_menu_input_bg@2x.png
vendored
Normal file
After Width: | Height: | Size: 868 B |
BIN
xplan-ios/Assets.xcassets/Room/Menu/room_menu_input_bg.imageset/room_menu_input_bg@3x.png
vendored
Normal file
After Width: | Height: | Size: 1.5 KiB |
22
xplan-ios/Assets.xcassets/Room/Menu/room_menu_message.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_menu_message@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_menu_message@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
xplan-ios/Assets.xcassets/Room/Menu/room_menu_message.imageset/room_menu_message@2x.png
vendored
Normal file
After Width: | Height: | Size: 910 B |
BIN
xplan-ios/Assets.xcassets/Room/Menu/room_menu_message.imageset/room_menu_message@3x.png
vendored
Normal file
After Width: | Height: | Size: 1.7 KiB |
22
xplan-ios/Assets.xcassets/Room/Menu/room_menu_mic_close.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_menu_mic_close@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_menu_mic_close@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
xplan-ios/Assets.xcassets/Room/Menu/room_menu_mic_close.imageset/room_menu_mic_close@2x.png
vendored
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
xplan-ios/Assets.xcassets/Room/Menu/room_menu_mic_close.imageset/room_menu_mic_close@3x.png
vendored
Normal file
After Width: | Height: | Size: 1.9 KiB |
22
xplan-ios/Assets.xcassets/Room/Menu/room_menu_mic_open.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_menu_mic_open@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_menu_mic_open@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
xplan-ios/Assets.xcassets/Room/Menu/room_menu_mic_open.imageset/room_menu_mic_open@2x.png
vendored
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
xplan-ios/Assets.xcassets/Room/Menu/room_menu_mic_open.imageset/room_menu_mic_open@3x.png
vendored
Normal file
After Width: | Height: | Size: 2.1 KiB |
21
xplan-ios/Assets.xcassets/Room/Menu/room_menu_more.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_menu_more@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
xplan-ios/Assets.xcassets/Room/Menu/room_menu_more.imageset/room_menu_more@2x.png
vendored
Normal file
After Width: | Height: | Size: 909 B |
21
xplan-ios/Assets.xcassets/Room/Menu/room_menu_more3x.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "room_menu_more3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
xplan-ios/Assets.xcassets/Room/Menu/room_menu_more3x.imageset/room_menu_more3x.png
vendored
Normal file
After Width: | Height: | Size: 1.8 KiB |
22
xplan-ios/Assets.xcassets/Room/Menu/room_menu_new_message.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_menu_new_message@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_menu_new_message@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
xplan-ios/Assets.xcassets/Room/Menu/room_menu_new_message.imageset/room_menu_new_message@2x.png
vendored
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
xplan-ios/Assets.xcassets/Room/Menu/room_menu_new_message.imageset/room_menu_new_message@3x.png
vendored
Normal file
After Width: | Height: | Size: 2.2 KiB |
22
xplan-ios/Assets.xcassets/Room/Menu/room_menu_voice_close.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_menu_voice_close@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_menu_voice_close@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
xplan-ios/Assets.xcassets/Room/Menu/room_menu_voice_close.imageset/room_menu_voice_close@2x.png
vendored
Normal file
After Width: | Height: | Size: 873 B |
BIN
xplan-ios/Assets.xcassets/Room/Menu/room_menu_voice_close.imageset/room_menu_voice_close@3x.png
vendored
Normal file
After Width: | Height: | Size: 1.4 KiB |
22
xplan-ios/Assets.xcassets/Room/Menu/room_menu_voice_open.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_menu_voice_open@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_menu_voice_open@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
xplan-ios/Assets.xcassets/Room/Menu/room_menu_voice_open.imageset/room_menu_voice_open@2x.png
vendored
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
xplan-ios/Assets.xcassets/Room/Menu/room_menu_voice_open.imageset/room_menu_voice_open@3x.png
vendored
Normal file
After Width: | Height: | Size: 1.4 KiB |
22
xplan-ios/Assets.xcassets/Room/room_background.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_background@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_background@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
xplan-ios/Assets.xcassets/Room/room_background.imageset/room_background@2x.png
vendored
Normal file
After Width: | Height: | Size: 203 KiB |
BIN
xplan-ios/Assets.xcassets/Room/room_background.imageset/room_background@3x.png
vendored
Normal file
After Width: | Height: | Size: 395 KiB |
22
xplan-ios/Assets.xcassets/Room/room_info_back.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_info_back@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_info_back@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
xplan-ios/Assets.xcassets/Room/room_info_back.imageset/room_info_back@2x.png
vendored
Normal file
After Width: | Height: | Size: 420 B |
BIN
xplan-ios/Assets.xcassets/Room/room_info_back.imageset/room_info_back@3x.png
vendored
Normal file
After Width: | Height: | Size: 804 B |
22
xplan-ios/Assets.xcassets/Room/room_info_gift_effect.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_info_gift_effect@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_info_gift_effect@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
xplan-ios/Assets.xcassets/Room/room_info_gift_effect.imageset/room_info_gift_effect@2x.png
vendored
Normal file
After Width: | Height: | Size: 575 B |
BIN
xplan-ios/Assets.xcassets/Room/room_info_gift_effect.imageset/room_info_gift_effect@3x.png
vendored
Normal file
After Width: | Height: | Size: 845 B |
22
xplan-ios/Assets.xcassets/Room/room_info_setting.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_info_setting@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_info_setting@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
xplan-ios/Assets.xcassets/Room/room_info_setting.imageset/room_info_setting@2x.png
vendored
Normal file
After Width: | Height: | Size: 540 B |
BIN
xplan-ios/Assets.xcassets/Room/room_info_setting.imageset/room_info_setting@3x.png
vendored
Normal file
After Width: | Height: | Size: 1.0 KiB |
22
xplan-ios/Assets.xcassets/Room/room_info_share.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_info_share@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_info_share@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
xplan-ios/Assets.xcassets/Room/room_info_share.imageset/room_info_share@2x.png
vendored
Normal file
After Width: | Height: | Size: 941 B |
BIN
xplan-ios/Assets.xcassets/Room/room_info_share.imageset/room_info_share@3x.png
vendored
Normal file
After Width: | Height: | Size: 1.6 KiB |
@@ -61,6 +61,9 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
+ (UIColor *)switchOffColor;
|
||||
/// 音游开关按钮的 开启的颜色 0x248cfe
|
||||
+ (UIColor *)switchOnColor;
|
||||
|
||||
#pragma mark -房间内相关的颜色
|
||||
+ (UIColor *)roomOnLineIdenColor;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -106,4 +106,9 @@
|
||||
return UIColorFromRGB(0x248cfe);
|
||||
}
|
||||
|
||||
#pragma mark -房间内相关的颜色
|
||||
+ (UIColor *)roomOnLineIdenColor {
|
||||
return UIColorFromRGB(0x3EFED7);
|
||||
}
|
||||
|
||||
@end
|
||||
|
@@ -54,6 +54,7 @@
|
||||
_logoImageView.userInteractionEnabled = YES;
|
||||
_logoImageView.layer.masksToBounds = YES;
|
||||
_logoImageView.contentMode = UIViewContentModeScaleAspectFill;
|
||||
_logoImageView.tag = 100000;
|
||||
}
|
||||
return _logoImageView;
|
||||
}
|
||||
@@ -82,6 +83,12 @@
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
|
||||
UIView * view = [self.cycleScrollView hitTest:point withEvent:event];
|
||||
return view;
|
||||
}
|
||||
|
||||
#pragma mark - Private Method
|
||||
- (void)initSubViews {
|
||||
[self addSubview:self.cycleScrollView];
|
||||
|
@@ -15,7 +15,9 @@
|
||||
if (point.y > (250 + kSafeAreaTopHeight)) {
|
||||
return self;
|
||||
} else {
|
||||
return [[(XPMineUserInfoViewController *)self.userInfoVC getHeadHitView] hitTest:point withEvent:event];
|
||||
UIView* topView= [(XPMineUserInfoViewController *)self.userInfoVC getHeadHitView];
|
||||
UIView * View = [topView hitTest:point withEvent:event];
|
||||
return View;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -30,6 +30,10 @@
|
||||
#import "XPMineRechargeViewController.h"
|
||||
#import "XPWebViewController.h"
|
||||
|
||||
#warning todo 测试
|
||||
#import "BaseNavigationController.h"
|
||||
#import "XPRoomViewController.h"
|
||||
|
||||
|
||||
@interface XPMineViewController ()<UITableViewDelegate, UITableViewDataSource, XPMineProtocol, XPMineMatchTableViewCellDelegate, XPMineHeadViewDelegate>
|
||||
///
|
||||
@@ -126,6 +130,13 @@
|
||||
break;
|
||||
case XPMineItemType_Account:
|
||||
{
|
||||
XPRoomViewController * roomVC = [[XPRoomViewController alloc] init];
|
||||
BaseNavigationController * nav = [[BaseNavigationController alloc] initWithRootViewController:roomVC];
|
||||
nav.modalPresentationStyle = UIModalPresentationFullScreen;
|
||||
[self.navigationController presentViewController:nav animated:YES completion:nil];
|
||||
return;
|
||||
|
||||
#warning to do 测试
|
||||
XPMineRechargeViewController * rechargeVC = [[XPMineRechargeViewController alloc] init];
|
||||
[self.navigationController pushViewController:rechargeVC animated:YES];
|
||||
}
|
||||
|
27
xplan-ios/Main/Room/Model/XPRoomMenuItem.h
Normal file
@@ -0,0 +1,27 @@
|
||||
//
|
||||
// XPRoomMenuItem.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2021/10/14.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
typedef NS_ENUM(NSInteger, XPRoomMenuItemType) {
|
||||
XPRoomMenuItemType_Input = 1,
|
||||
XPRoomMenuItemType_Mic,///话筒
|
||||
XPRoomMenuItemType_Voice, ///声音
|
||||
XPRoomMenuItemType_Face,///表情
|
||||
XPRoomMenuItemType_Message,///房间私聊
|
||||
XPRoomMenuItemType_More,///更多
|
||||
XPRoomMenuItemType_Gift,///礼物
|
||||
};
|
||||
|
||||
@interface XPRoomMenuItem : NSObject
|
||||
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
12
xplan-ios/Main/Room/Model/XPRoomMenuItem.m
Normal file
@@ -0,0 +1,12 @@
|
||||
//
|
||||
// XPRoomMenuItem.m
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2021/10/14.
|
||||
//
|
||||
|
||||
#import "XPRoomMenuItem.h"
|
||||
|
||||
@implementation XPRoomMenuItem
|
||||
|
||||
@end
|
@@ -0,0 +1,16 @@
|
||||
//
|
||||
// XPRoomActivityManager.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2021/10/12.
|
||||
//
|
||||
|
||||
#import "XPRoomBaseManager.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface XPRoomActivityManager : XPRoomBaseManager
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,31 @@
|
||||
//
|
||||
// XPRoomActivityManager.m
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2021/10/12.
|
||||
//
|
||||
|
||||
#import "XPRoomActivityManager.h"
|
||||
///View
|
||||
#import "XPRoomActivityView.h"
|
||||
|
||||
@interface XPRoomActivityManager ()
|
||||
///活动的View
|
||||
@property (nonatomic,strong) XPRoomActivityView *activityView;
|
||||
@end
|
||||
|
||||
@implementation XPRoomActivityManager
|
||||
|
||||
- (UIView *)containerView {
|
||||
return self.activityView;
|
||||
}
|
||||
|
||||
|
||||
- (XPRoomActivityView *)activityView {
|
||||
if (!_activityView) {
|
||||
_activityView = [[XPRoomActivityView alloc] init];
|
||||
}
|
||||
return _activityView;
|
||||
}
|
||||
|
||||
@end
|
@@ -0,0 +1,16 @@
|
||||
//
|
||||
// BaseUIManager.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2021/10/11.
|
||||
//
|
||||
|
||||
#import "XPRoomBaseManager.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface XPRoomBackUIManager : XPRoomBaseManager
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,30 @@
|
||||
//
|
||||
// BaseUIManager.m
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2021/10/11.
|
||||
//
|
||||
|
||||
#import "XPRoomBackUIManager.h"
|
||||
#import "XPRoomBackUIView.h"
|
||||
@interface XPRoomBackUIManager ()
|
||||
///
|
||||
@property (nonatomic,strong) XPRoomBackUIView *roomBackView;
|
||||
@end
|
||||
|
||||
@implementation XPRoomBackUIManager
|
||||
|
||||
- (UIView *)containerView {
|
||||
return self.roomBackView;
|
||||
}
|
||||
|
||||
|
||||
|
||||
- (XPRoomBackUIView *)roomBackView {
|
||||
if (!_roomBackView) {
|
||||
_roomBackView = [[XPRoomBackUIView alloc] init];
|
||||
}
|
||||
return _roomBackView;
|
||||
}
|
||||
|
||||
@end
|
@@ -0,0 +1,17 @@
|
||||
//
|
||||
// XPRoomBaseManager.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2021/10/11.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface XPRoomBaseManager : NSObject
|
||||
///
|
||||
@property (nonatomic,strong, readonly) UIView * containerView;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,26 @@
|
||||
//
|
||||
// XPRoomBaseManager.m
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2021/10/11.
|
||||
//
|
||||
|
||||
#import "XPRoomBaseManager.h"
|
||||
|
||||
@interface XPRoomBaseManager ()
|
||||
///
|
||||
@property (nonatomic,strong) UIView * containerView;
|
||||
@end
|
||||
|
||||
@implementation XPRoomBaseManager
|
||||
|
||||
|
||||
- (UIView *)containerView {
|
||||
if (!_containerView) {
|
||||
_containerView = [[UIView alloc] init];
|
||||
_containerView.backgroundColor = [UIColor clearColor];
|
||||
}
|
||||
return _containerView;
|
||||
}
|
||||
|
||||
@end
|
@@ -0,0 +1,16 @@
|
||||
//
|
||||
// XPRoomMenuManager.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2021/10/12.
|
||||
//
|
||||
|
||||
#import "XPRoomBaseManager.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface XPRoomMenuManager : XPRoomBaseManager
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,29 @@
|
||||
//
|
||||
// XPRoomMenuManager.m
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2021/10/12.
|
||||
//
|
||||
|
||||
#import "XPRoomMenuManager.h"
|
||||
#import "XPRoomBottomMenuView.h"
|
||||
|
||||
@interface XPRoomMenuManager ()
|
||||
///
|
||||
@property (nonatomic,strong) XPRoomBottomMenuView *menuView;
|
||||
@end
|
||||
|
||||
@implementation XPRoomMenuManager
|
||||
|
||||
- (UIView *)containerView {
|
||||
return self.menuView;
|
||||
}
|
||||
|
||||
#pragma mark - Getters And Setters
|
||||
- (XPRoomBottomMenuView *)menuView {
|
||||
if (!_menuView) {
|
||||
_menuView = [[XPRoomBottomMenuView alloc] init];
|
||||
}
|
||||
return _menuView;
|
||||
}
|
||||
@end
|
@@ -0,0 +1,16 @@
|
||||
//
|
||||
// XPRoomPositionManager.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2021/10/12.
|
||||
//
|
||||
|
||||
#import "XPRoomBaseManager.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface XPRoomMessageManager : XPRoomBaseManager
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,30 @@
|
||||
//
|
||||
// XPRoomPositionManager.m
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2021/10/12.
|
||||
//
|
||||
|
||||
#import "XPRoomMessageManager.h"
|
||||
#import "XPRoomMessageView.h"
|
||||
@interface XPRoomMessageManager ()
|
||||
///
|
||||
@property (nonatomic,strong) XPRoomMessageView *messageView;
|
||||
@end
|
||||
|
||||
|
||||
@implementation XPRoomMessageManager
|
||||
|
||||
- (UIView *)containerView {
|
||||
return self.messageView;
|
||||
}
|
||||
|
||||
- (XPRoomMessageView *)messageView {
|
||||
if (!_messageView) {
|
||||
_messageView = [[XPRoomMessageView alloc] init];
|
||||
}
|
||||
return _messageView;
|
||||
}
|
||||
|
||||
|
||||
@end
|
@@ -0,0 +1,16 @@
|
||||
//
|
||||
// XPRoomPositionManager.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2021/10/12.
|
||||
//
|
||||
|
||||
#import "XPRoomBaseManager.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface XPRoomPositionManager : XPRoomBaseManager
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,28 @@
|
||||
//
|
||||
// XPRoomPositionManager.m
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2021/10/12.
|
||||
//
|
||||
|
||||
#import "XPRoomPositionManager.h"
|
||||
#import "XPRoomPositionView.h"
|
||||
|
||||
@interface XPRoomPositionManager ()
|
||||
///坑位
|
||||
@property (nonatomic,strong) XPRoomPositionView *positionView;
|
||||
@end
|
||||
|
||||
@implementation XPRoomPositionManager
|
||||
|
||||
- (UIView *)containerView {
|
||||
return self.positionView;
|
||||
}
|
||||
|
||||
- (XPRoomPositionView *)positionView {
|
||||
if (!_positionView) {
|
||||
_positionView = [[XPRoomPositionView alloc] init];
|
||||
}
|
||||
return _positionView;
|
||||
}
|
||||
@end
|
@@ -0,0 +1,16 @@
|
||||
//
|
||||
// XPRoomInfoManager.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2021/10/12.
|
||||
//
|
||||
|
||||
#import "XPRoomBaseManager.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface XPRoomInfoManager : XPRoomBaseManager
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,29 @@
|
||||
//
|
||||
// XPRoomInfoManager.m
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2021/10/12.
|
||||
//
|
||||
|
||||
#import "XPRoomInfoManager.h"
|
||||
#import "XPRoomInfoView.h"
|
||||
@interface XPRoomInfoManager ()
|
||||
///
|
||||
@property (nonatomic,strong) XPRoomInfoView *infoView;
|
||||
@end
|
||||
|
||||
@implementation XPRoomInfoManager
|
||||
#pragma mark - OVer load
|
||||
- (UIView *)containerView {
|
||||
return self.infoView;
|
||||
}
|
||||
|
||||
#pragma mark - Getters And Setters
|
||||
- (XPRoomInfoView *)infoView {
|
||||
if (!_infoView) {
|
||||
_infoView = [[XPRoomInfoView alloc] init];
|
||||
}
|
||||
return _infoView;
|
||||
}
|
||||
|
||||
@end
|
16
xplan-ios/Main/Room/View/ActivityView/XPRoomActivityView.h
Normal file
@@ -0,0 +1,16 @@
|
||||
//
|
||||
// XPRoomActivityView.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2021/10/12.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface XPRoomActivityView : UIView
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
99
xplan-ios/Main/Room/View/ActivityView/XPRoomActivityView.m
Normal file
@@ -0,0 +1,99 @@
|
||||
//
|
||||
// XPRoomActivityView.m
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2021/10/12.
|
||||
//
|
||||
|
||||
#import "XPRoomActivityView.h"
|
||||
///Third
|
||||
#import <Masonry/Masonry.h>
|
||||
#import <SDCycleScrollView/SDCycleScrollView.h>
|
||||
|
||||
@interface XPRoomActivityView ()<SDCycleScrollViewDelegate>
|
||||
///容器
|
||||
@property (nonatomic,strong) UIStackView *stackView;
|
||||
///轮播图
|
||||
@property (nonatomic,strong) SDCycleScrollView *cycleScrollView;
|
||||
///
|
||||
@property (nonatomic,strong) UIView * placeHolderView;
|
||||
@end
|
||||
|
||||
@implementation XPRoomActivityView
|
||||
|
||||
- (instancetype)initWithFrame:(CGRect)frame
|
||||
{
|
||||
self = [super initWithFrame:frame];
|
||||
if (self) {
|
||||
[self initSubViews];
|
||||
[self initSubViewConstraints];
|
||||
#warning to do Malloc 数据
|
||||
[self initMallocData];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
#pragma mark - Private Method
|
||||
- (void)initMallocData {
|
||||
NSArray * array = @[@"https://image.doudouyue.com//FpRJcAcPiamtkcdyDEh96c1RZGfb?imageslim", @"https://image.doudouyue.com//FpRJcAcPiamtkcdyDEh96c1RZGfb?imageslim", @"https://image.doudouyue.com//FpRJcAcPiamtkcdyDEh96c1RZGfb?imageslim"];
|
||||
self.cycleScrollView.imageURLStringsGroup = array;
|
||||
[self.cycleScrollView autoScroll];
|
||||
}
|
||||
|
||||
- (void)initSubViews {
|
||||
[self addSubview:self.stackView];
|
||||
|
||||
[self.stackView addArrangedSubview:self.cycleScrollView];
|
||||
[self.stackView addArrangedSubview:self.placeHolderView];
|
||||
}
|
||||
|
||||
- (void)initSubViewConstraints {
|
||||
[self.stackView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.mas_equalTo(self);
|
||||
}];
|
||||
|
||||
[self.cycleScrollView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.size.mas_equalTo(CGSizeMake(65, 65));
|
||||
}];
|
||||
}
|
||||
|
||||
#pragma mark - Getters And Setters
|
||||
- (SDCycleScrollView *)cycleScrollView {
|
||||
if (!_cycleScrollView) {
|
||||
_cycleScrollView = [SDCycleScrollView cycleScrollViewWithFrame:CGRectZero delegate:self placeholderImage:nil];
|
||||
_cycleScrollView.pageControlAliment = SDCycleScrollViewPageContolAlimentCenter;
|
||||
_cycleScrollView.currentPageDotColor = [UIColor whiteColor];
|
||||
_cycleScrollView.pageDotColor = [UIColor colorWithWhite:1 alpha:0.15];
|
||||
_cycleScrollView.currentPageDotImage = [UIImage imageNamed:@"room_activity_banner_select"];
|
||||
_cycleScrollView.pageDotImage = [UIImage imageNamed:@"room_activity_banner_normal"];
|
||||
_cycleScrollView.backgroundColor = [UIColor colorWithWhite:1 alpha:0.00];
|
||||
_cycleScrollView.bannerImageViewContentMode = UIViewContentModeScaleAspectFit;
|
||||
_cycleScrollView.pageControlBottomOffset = -20;
|
||||
}
|
||||
return _cycleScrollView;
|
||||
}
|
||||
|
||||
- (UIView *)placeHolderView {
|
||||
if (!_placeHolderView) {
|
||||
_placeHolderView = [[UIView alloc] init];
|
||||
_placeHolderView.backgroundColor = [UIColor clearColor];
|
||||
[_placeHolderView setContentHuggingPriority:UILayoutPriorityDragThatCanResizeScene forAxis:UILayoutConstraintAxisHorizontal];
|
||||
[_placeHolderView setContentCompressionResistancePriority:UILayoutPriorityFittingSizeLevel forAxis:UILayoutConstraintAxisHorizontal];
|
||||
}
|
||||
return _placeHolderView;
|
||||
}
|
||||
|
||||
|
||||
- (UIStackView *)stackView {
|
||||
if (!_stackView) {
|
||||
_stackView = [[UIStackView alloc] init];
|
||||
_stackView.axis = UILayoutConstraintAxisVertical;
|
||||
_stackView.distribution = UIStackViewDistributionFill;
|
||||
_stackView.alignment = UIStackViewAlignmentCenter;
|
||||
_stackView.spacing = 10;
|
||||
}
|
||||
return _stackView;
|
||||
}
|
||||
|
||||
|
||||
@end
|
16
xplan-ios/Main/Room/View/BaseUIView/XPRoomBackUIView.h
Normal file
@@ -0,0 +1,16 @@
|
||||
//
|
||||
// XPRoomBaseUIView.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2021/10/11.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface XPRoomBackUIView : UIView
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
51
xplan-ios/Main/Room/View/BaseUIView/XPRoomBackUIView.m
Normal file
@@ -0,0 +1,51 @@
|
||||
//
|
||||
// XPRoomBaseUIView.m
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2021/10/11.
|
||||
// 最下面的View
|
||||
|
||||
#import "XPRoomBackUIView.h"
|
||||
///Third
|
||||
#import <Masonry/Masonry.h>
|
||||
|
||||
@interface XPRoomBackUIView ()
|
||||
///
|
||||
@property (nonatomic,strong) UIImageView *backImageView;
|
||||
@end
|
||||
|
||||
@implementation XPRoomBackUIView
|
||||
|
||||
- (instancetype)initWithFrame:(CGRect)frame {
|
||||
self = [super initWithFrame:frame];
|
||||
if (self) {
|
||||
[self initSubViews];
|
||||
[self initSubViewConstraints];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
#pragma mark - Private Method
|
||||
- (void)initSubViews {
|
||||
[self addSubview:self.backImageView];
|
||||
}
|
||||
|
||||
- (void)initSubViewConstraints {
|
||||
[self.backImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.mas_equalTo(self);
|
||||
}];
|
||||
}
|
||||
|
||||
#pragma mark - Getters And Setters
|
||||
- (UIImageView *)backImageView {
|
||||
if (!_backImageView) {
|
||||
_backImageView = [[UIImageView alloc] init];
|
||||
_backImageView.userInteractionEnabled = YES;
|
||||
_backImageView.image = [UIImage imageNamed:@"room_background"];
|
||||
_backImageView.layer.masksToBounds = YES;
|
||||
_backImageView.contentMode = UIViewContentModeScaleAspectFill;
|
||||
}
|
||||
return _backImageView;
|
||||
}
|
||||
|
||||
@end
|
16
xplan-ios/Main/Room/View/MenuView/XPRoomBottomMenuView.h
Normal file
@@ -0,0 +1,16 @@
|
||||
//
|
||||
// XPRoomBottomMenuView.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2021/10/11.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface XPRoomBottomMenuView : UIView
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
181
xplan-ios/Main/Room/View/MenuView/XPRoomBottomMenuView.m
Normal file
@@ -0,0 +1,181 @@
|
||||
//
|
||||
// XPRoomBottomMenuView.m
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2021/10/11.
|
||||
//
|
||||
|
||||
#import "XPRoomBottomMenuView.h"
|
||||
///Third
|
||||
#import <Masonry/Masonry.h>
|
||||
///Model
|
||||
#import "XPRoomMenuItem.h"
|
||||
|
||||
@interface XPRoomBottomMenuView ()
|
||||
///
|
||||
@property (nonatomic,strong) UIStackView *stackView;
|
||||
///输入框
|
||||
@property (nonatomic,strong) UIButton *inputButton;
|
||||
///麦
|
||||
@property (nonatomic,strong) UIButton *micButton;
|
||||
///声音
|
||||
@property (nonatomic,strong) UIButton *voiceButton;
|
||||
///表情
|
||||
@property (nonatomic,strong) UIButton *faceButton;
|
||||
///私聊
|
||||
@property (nonatomic,strong) UIButton *messageButton;
|
||||
///更多
|
||||
@property (nonatomic,strong) UIButton *moreButton;
|
||||
///礼物
|
||||
@property (nonatomic,strong) UIButton *giftButton;
|
||||
///占位的
|
||||
@property (nonatomic,strong) UIView * placeHolderView;
|
||||
@end
|
||||
|
||||
|
||||
@implementation XPRoomBottomMenuView
|
||||
|
||||
- (instancetype)initWithFrame:(CGRect)frame
|
||||
{
|
||||
self = [super initWithFrame:frame];
|
||||
if (self) {
|
||||
[self initSubViews];
|
||||
[self initSubViewConstraints];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
#pragma mark - Response
|
||||
- (void)menuButtonAction:(UIButton *)sender {
|
||||
|
||||
}
|
||||
|
||||
#pragma mark - Private Method
|
||||
- (void)initSubViews {
|
||||
[self addSubview:self.stackView];
|
||||
[self.stackView addArrangedSubview:self.inputButton];
|
||||
[self.stackView addArrangedSubview:self.micButton];
|
||||
[self.stackView addArrangedSubview:self.voiceButton];
|
||||
[self.stackView addArrangedSubview:self.faceButton];
|
||||
[self.stackView addArrangedSubview:self.messageButton];
|
||||
[self.stackView addArrangedSubview:self.moreButton];
|
||||
[self.stackView addArrangedSubview:self.placeHolderView];
|
||||
[self.stackView addArrangedSubview:self.giftButton];
|
||||
}
|
||||
|
||||
- (void)initSubViewConstraints {
|
||||
[self.stackView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.right.mas_equalTo(self).inset(15);
|
||||
make.top.bottom.mas_equalTo(self);
|
||||
}];
|
||||
|
||||
[self.inputButton mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.size.mas_equalTo(CGSizeMake(100, 30));
|
||||
}];
|
||||
|
||||
[self.giftButton mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.size.mas_equalTo(CGSizeMake(38, 38));
|
||||
}];
|
||||
}
|
||||
#pragma mark - Getters And Setters
|
||||
- (UIButton *)inputButton {
|
||||
if (!_inputButton) {
|
||||
_inputButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||
[_inputButton setTitle:@"说点什么..." forState:UIControlStateNormal];
|
||||
[_inputButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
|
||||
_inputButton.titleLabel.font = [UIFont systemFontOfSize:15];
|
||||
_inputButton.layer.masksToBounds = YES;
|
||||
_inputButton.layer.cornerRadius = 15;
|
||||
[_inputButton setBackgroundImage:[UIImage imageNamed:@"room_menu_input_bg"] forState:UIControlStateNormal];
|
||||
_inputButton.tag = XPRoomMenuItemType_Input;
|
||||
[_inputButton addTarget:self action:@selector(menuButtonAction:) forControlEvents:UIControlEventTouchUpInside];
|
||||
}
|
||||
return _inputButton;
|
||||
}
|
||||
|
||||
- (UIButton *)micButton {
|
||||
if (!_micButton) {
|
||||
_micButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||
[_micButton setImage:[UIImage imageNamed:@"room_menu_mic_open"] forState:UIControlStateNormal];
|
||||
[_micButton setImage:[UIImage imageNamed:@"room_menu_mic_close"] forState:UIControlStateSelected];
|
||||
_micButton.tag = XPRoomMenuItemType_Mic;
|
||||
[_micButton addTarget:self action:@selector(menuButtonAction:) forControlEvents:UIControlEventTouchUpInside];
|
||||
}
|
||||
return _micButton;
|
||||
}
|
||||
|
||||
- (UIButton *)voiceButton {
|
||||
if (!_voiceButton) {
|
||||
_voiceButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||
[_voiceButton setImage:[UIImage imageNamed:@"room_menu_voice_open"] forState:UIControlStateNormal];
|
||||
[_voiceButton setImage:[UIImage imageNamed:@"room_menu_voice_close"] forState:UIControlStateSelected];
|
||||
_voiceButton.tag = XPRoomMenuItemType_Voice;
|
||||
[_voiceButton addTarget:self action:@selector(menuButtonAction:) forControlEvents:UIControlEventTouchUpInside];
|
||||
}
|
||||
return _voiceButton;
|
||||
}
|
||||
|
||||
- (UIButton *)faceButton {
|
||||
if (!_faceButton) {
|
||||
_faceButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||
[_faceButton setImage:[UIImage imageNamed:@"room_menu_face"] forState:UIControlStateNormal];
|
||||
[_faceButton setImage:[UIImage imageNamed:@"room_menu_face"] forState:UIControlStateSelected];
|
||||
_faceButton.tag = XPRoomMenuItemType_Face;
|
||||
[_faceButton addTarget:self action:@selector(menuButtonAction:) forControlEvents:UIControlEventTouchUpInside];
|
||||
}
|
||||
return _faceButton;
|
||||
}
|
||||
|
||||
- (UIButton *)messageButton {
|
||||
if (!_messageButton) {
|
||||
_messageButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||
[_messageButton setImage:[UIImage imageNamed:@"room_menu_message"] forState:UIControlStateNormal];
|
||||
[_messageButton setImage:[UIImage imageNamed:@"room_menu_new_message"] forState:UIControlStateSelected];
|
||||
_messageButton.tag = XPRoomMenuItemType_Message;
|
||||
[_messageButton addTarget:self action:@selector(menuButtonAction:) forControlEvents:UIControlEventTouchUpInside];
|
||||
}
|
||||
return _messageButton;
|
||||
}
|
||||
|
||||
- (UIButton *)moreButton {
|
||||
if (!_moreButton) {
|
||||
_moreButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||
[_moreButton setImage:[UIImage imageNamed:@"room_menu_more"] forState:UIControlStateNormal];
|
||||
[_moreButton setImage:[UIImage imageNamed:@"room_menu_more"] forState:UIControlStateSelected];
|
||||
_moreButton.tag = XPRoomMenuItemType_Voice;
|
||||
[_moreButton addTarget:self action:@selector(menuButtonAction:) forControlEvents:UIControlEventTouchUpInside];
|
||||
}
|
||||
return _moreButton;
|
||||
}
|
||||
|
||||
- (UIButton *)giftButton {
|
||||
if (!_giftButton) {
|
||||
_giftButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||
[_giftButton setImage:[UIImage imageNamed:@"room_menu_gift"] forState:UIControlStateNormal];
|
||||
[_giftButton setImage:[UIImage imageNamed:@"room_menu_gift"] forState:UIControlStateSelected];
|
||||
_giftButton.tag = XPRoomMenuItemType_Voice;
|
||||
[_giftButton addTarget:self action:@selector(menuButtonAction:) forControlEvents:UIControlEventTouchUpInside];
|
||||
}
|
||||
return _giftButton;
|
||||
}
|
||||
|
||||
- (UIView *)placeHolderView {
|
||||
if (!_placeHolderView) {
|
||||
_placeHolderView = [[UIView alloc] init];
|
||||
_placeHolderView.backgroundColor = [UIColor clearColor];
|
||||
[_placeHolderView setContentHuggingPriority:UILayoutPriorityDragThatCanResizeScene forAxis:UILayoutConstraintAxisHorizontal];
|
||||
}
|
||||
return _placeHolderView;
|
||||
}
|
||||
|
||||
- (UIStackView *)stackView {
|
||||
if (!_stackView) {
|
||||
_stackView = [[UIStackView alloc] init];
|
||||
_stackView.axis = UILayoutConstraintAxisHorizontal;
|
||||
_stackView.distribution = UIStackViewDistributionFill;
|
||||
_stackView.alignment = UIStackViewAlignmentCenter;
|
||||
_stackView.spacing = 8;
|
||||
}
|
||||
return _stackView;
|
||||
}
|
||||
|
||||
@end
|
16
xplan-ios/Main/Room/View/MessageView/XPRoomMessageView.h
Normal file
@@ -0,0 +1,16 @@
|
||||
//
|
||||
// XPRoomMessageView.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2021/10/11.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface XPRoomMessageView : UIView
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
31
xplan-ios/Main/Room/View/MessageView/XPRoomMessageView.m
Normal file
@@ -0,0 +1,31 @@
|
||||
//
|
||||
// XPRoomMessageView.m
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2021/10/11.
|
||||
//
|
||||
|
||||
#import "XPRoomMessageView.h"
|
||||
|
||||
@implementation XPRoomMessageView
|
||||
|
||||
- (instancetype)initWithFrame:(CGRect)frame
|
||||
{
|
||||
self = [super initWithFrame:frame];
|
||||
if (self) {
|
||||
[self initSubViews];
|
||||
[self initSubViewConstraints];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
#pragma mark - Private Method
|
||||
- (void)initSubViews {
|
||||
self.backgroundColor = [UIColor orangeColor];
|
||||
}
|
||||
|
||||
- (void)initSubViewConstraints {
|
||||
|
||||
}
|
||||
|
||||
@end
|
16
xplan-ios/Main/Room/View/PositionView/XPRoomPositionView.h
Normal file
@@ -0,0 +1,16 @@
|
||||
//
|
||||
// XPRoomPositionView.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2021/10/11.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface XPRoomPositionView : UIView
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
31
xplan-ios/Main/Room/View/PositionView/XPRoomPositionView.m
Normal file
@@ -0,0 +1,31 @@
|
||||
//
|
||||
// XPRoomPositionView.m
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2021/10/11.
|
||||
//
|
||||
|
||||
#import "XPRoomPositionView.h"
|
||||
|
||||
@implementation XPRoomPositionView
|
||||
- (instancetype)initWithFrame:(CGRect)frame
|
||||
{
|
||||
self = [super initWithFrame:frame];
|
||||
if (self) {
|
||||
[self initSubViews];
|
||||
[self initSubViewConstraints];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
#pragma mark - Private Method
|
||||
- (void)initSubViews {
|
||||
self.backgroundColor = [UIColor greenColor];
|
||||
}
|
||||
|
||||
- (void)initSubViewConstraints {
|
||||
|
||||
}
|
||||
|
||||
|
||||
@end
|
16
xplan-ios/Main/Room/View/RoomInfoView/XPRoomInfoView.h
Normal file
@@ -0,0 +1,16 @@
|
||||
//
|
||||
// XPRoomInfoView.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2021/10/11.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface XPRoomInfoView : UIView
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
257
xplan-ios/Main/Room/View/RoomInfoView/XPRoomInfoView.m
Normal file
@@ -0,0 +1,257 @@
|
||||
//
|
||||
// XPRoomInfoView.m
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2021/10/11.
|
||||
//
|
||||
|
||||
#import "XPRoomInfoView.h"
|
||||
///Third
|
||||
#import <Masonry/Masonry.h>
|
||||
#import <MarqueeLabel.h>
|
||||
#import <YYText/YYLabel.h>
|
||||
///Tool
|
||||
#import "UIImage+Utils.h"
|
||||
#import "UIButton+EnlargeTouchArea.h"
|
||||
#import "XPMacro.h"
|
||||
#import "ThemeColor.h"
|
||||
|
||||
@interface XPRoomInfoView ()
|
||||
///返回按钮
|
||||
@property (nonatomic,strong) UIButton *backButton;
|
||||
///容器
|
||||
@property (nonatomic,strong) UIStackView *nickStackView;
|
||||
///
|
||||
@property (nonatomic,strong) UIStackView *titleStackView;
|
||||
///房间名字
|
||||
@property (nonatomic,strong) MarqueeLabel *titleLabel;
|
||||
///礼物特效
|
||||
@property (nonatomic,strong) UIImageView *giftEffectImageView;
|
||||
///
|
||||
@property (nonatomic,strong) UIStackView *onlineStackView;
|
||||
///绿色的小圆点
|
||||
@property (nonatomic,strong) UIView * greenDotView;
|
||||
///音游id和在线人数
|
||||
@property (nonatomic,strong) YYLabel *idLabel;
|
||||
///收藏
|
||||
@property (nonatomic,strong) UIButton *collectButton;
|
||||
///分享
|
||||
@property (nonatomic,strong) UIButton *shareButton;
|
||||
///设置
|
||||
@property (nonatomic,strong) UIButton *settingButton;
|
||||
@end
|
||||
|
||||
@implementation XPRoomInfoView
|
||||
|
||||
- (instancetype)initWithFrame:(CGRect)frame {
|
||||
self = [super initWithFrame:frame];
|
||||
if (self) {
|
||||
[self initSubViews];
|
||||
[self initSubViewConstraints];
|
||||
#warning to do 测试数据
|
||||
[self initMallocData];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
#pragma mark - Response
|
||||
- (void)backButtonAction:(UIButton *)sender {
|
||||
|
||||
}
|
||||
|
||||
- (void)shareButtonAction:(UIButton *)sender{
|
||||
|
||||
}
|
||||
|
||||
- (void)settingButtonAction:(UIButton *)sender {
|
||||
|
||||
}
|
||||
|
||||
|
||||
#pragma mark - Private Method
|
||||
- (void)initMallocData {
|
||||
self.titleLabel.text = @"这是房间标题";
|
||||
self.idLabel.text = @"这是在线人数1000 ID:100000";
|
||||
}
|
||||
|
||||
|
||||
- (void)initSubViews {
|
||||
[self addSubview:self.backButton];
|
||||
[self addSubview:self.nickStackView];
|
||||
[self addSubview:self.collectButton];
|
||||
[self addSubview:self.shareButton];
|
||||
[self addSubview:self.settingButton];
|
||||
|
||||
[self.nickStackView addArrangedSubview:self.titleStackView];
|
||||
[self.nickStackView addArrangedSubview:self.onlineStackView];
|
||||
|
||||
[self.onlineStackView addArrangedSubview:self.greenDotView];
|
||||
[self.onlineStackView addArrangedSubview:self.idLabel];
|
||||
|
||||
[self.titleStackView addArrangedSubview:self.titleLabel];
|
||||
[self.titleStackView addArrangedSubview:self.giftEffectImageView];
|
||||
}
|
||||
|
||||
- (void)initSubViewConstraints {
|
||||
[self.backButton mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.equalTo(self).offset(14);
|
||||
make.bottom.equalTo(self).offset(-14);
|
||||
make.height.width.equalTo(@22);
|
||||
}];
|
||||
|
||||
// 设置
|
||||
[self.settingButton mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.right.mas_equalTo(-14);
|
||||
make.centerY.mas_equalTo(self.backButton);
|
||||
make.width.height.mas_equalTo(20);
|
||||
}];
|
||||
|
||||
[self.shareButton mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.right.equalTo(self.settingButton.mas_left).offset(-17);
|
||||
make.centerY.mas_equalTo(self.backButton);
|
||||
make.width.height.mas_equalTo(20);
|
||||
}];
|
||||
|
||||
[self.collectButton mas_remakeConstraints:^(MASConstraintMaker *make) {
|
||||
make.centerY.equalTo(self.backButton);
|
||||
make.left.equalTo(self.nickStackView.mas_right).offset(5);
|
||||
make.width.mas_equalTo(@53);
|
||||
make.height.mas_equalTo(@22);
|
||||
}];
|
||||
|
||||
[self.nickStackView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.centerY.mas_equalTo(self.backButton);
|
||||
make.left.mas_equalTo(self.backButton.mas_right).offset(10);
|
||||
}];
|
||||
|
||||
[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.mas_lessThanOrEqualTo(100);
|
||||
}];
|
||||
|
||||
[self.greenDotView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.size.mas_equalTo(CGSizeMake(3,3));
|
||||
}];
|
||||
}
|
||||
|
||||
#pragma mark - Getters And Setters
|
||||
- (UIButton *)backButton{
|
||||
if (!_backButton) {
|
||||
_backButton = [[UIButton alloc] init];
|
||||
[_backButton setImage:[UIImage imageNamed:@"room_info_back"] forState:UIControlStateNormal];
|
||||
[_backButton addTarget:self action:@selector(backButtonAction:) forControlEvents:UIControlEventTouchUpInside];
|
||||
[_backButton setEnlargeEdgeWithTop:15 right:15 bottom:15 left:15];
|
||||
}
|
||||
return _backButton;
|
||||
}
|
||||
|
||||
- (UIButton *)shareButton {
|
||||
if(!_shareButton){
|
||||
_shareButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||
[_shareButton setImage:[UIImage imageNamed:@"room_info_share"] forState:UIControlStateNormal];
|
||||
[_shareButton addTarget:self action:@selector(shareButtonAction:) forControlEvents:UIControlEventTouchUpInside];
|
||||
[_shareButton setEnlargeEdgeWithTop:8 right:8 bottom:8 left:8];
|
||||
}
|
||||
return _shareButton;
|
||||
}
|
||||
|
||||
- (UIButton *)settingButton {
|
||||
if (!_settingButton) {
|
||||
_settingButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||
[_settingButton setImage:[UIImage imageNamed:@"room_info_setting"] forState:UIControlStateNormal];
|
||||
[_settingButton addTarget:self action:@selector(settingButtonAction:) forControlEvents:UIControlEventTouchUpInside];
|
||||
[_settingButton setEnlargeEdgeWithTop:8 right:8 bottom:8 left:8];
|
||||
}
|
||||
return _settingButton;
|
||||
}
|
||||
|
||||
|
||||
- (UIButton *)collectButton {
|
||||
if (!_collectButton) {
|
||||
_collectButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||
[_collectButton setTitle:@"收藏" forState:UIControlStateNormal];
|
||||
[_collectButton setTitle:@"已收藏" forState:UIControlStateSelected];
|
||||
[_collectButton setTitleColor:[ThemeColor mainTextColor] forState:UIControlStateNormal];
|
||||
[_collectButton setTitleColor:[ThemeColor mainTextColor] forState:UIControlStateSelected];
|
||||
[_collectButton setBackgroundImage:[UIImage gradientColorImageFromColors:@[[ThemeColor confirmButtonGradientStartColor], [ThemeColor confirmButtonGradientEndColor]] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(53, 22)] forState:UIControlStateNormal];
|
||||
_collectButton.titleLabel.font = [UIFont systemFontOfSize:12];
|
||||
_collectButton.layer.cornerRadius = 11;
|
||||
_collectButton.layer.masksToBounds = YES;
|
||||
}
|
||||
return _collectButton;
|
||||
}
|
||||
|
||||
- (UIStackView *)nickStackView {
|
||||
if (!_nickStackView) {
|
||||
_nickStackView = [[UIStackView alloc] init];
|
||||
_nickStackView.axis = UILayoutConstraintAxisVertical;
|
||||
_nickStackView.distribution = UIStackViewDistributionFill;
|
||||
_nickStackView.alignment = UIStackViewAlignmentLeading;
|
||||
_nickStackView.spacing = 3;
|
||||
}
|
||||
return _nickStackView;
|
||||
}
|
||||
|
||||
- (UIStackView *)titleStackView {
|
||||
if (!_titleStackView) {
|
||||
_titleStackView = [[UIStackView alloc] init];
|
||||
_titleStackView.axis = UILayoutConstraintAxisHorizontal;
|
||||
_titleStackView.distribution = UIStackViewDistributionFill;
|
||||
_titleStackView.alignment = UIStackViewAlignmentCenter;
|
||||
_titleStackView.spacing = 5;
|
||||
}
|
||||
return _titleStackView;
|
||||
}
|
||||
|
||||
|
||||
- (MarqueeLabel *)titleLabel{
|
||||
if (!_titleLabel) {
|
||||
_titleLabel = [[MarqueeLabel alloc] init];
|
||||
_titleLabel.scrollDuration = 8.0;
|
||||
_titleLabel.fadeLength = 6.0f;
|
||||
_titleLabel.font = [UIFont fontWithName:@"PingFang-SC-Bold" size:14];
|
||||
_titleLabel.textColor = [ThemeColor mainTextColor];
|
||||
}
|
||||
return _titleLabel;
|
||||
}
|
||||
|
||||
- (UIImageView *)giftEffectImageView {
|
||||
if (!_giftEffectImageView) {
|
||||
_giftEffectImageView = [[UIImageView alloc] init];
|
||||
_giftEffectImageView.userInteractionEnabled = YES;
|
||||
_giftEffectImageView.image = [UIImage imageNamed:@"room_info_gift_effect"];
|
||||
}
|
||||
return _giftEffectImageView;
|
||||
}
|
||||
|
||||
- (UIStackView *)onlineStackView {
|
||||
if (!_onlineStackView) {
|
||||
_onlineStackView = [[UIStackView alloc] init];
|
||||
_onlineStackView.axis = UILayoutConstraintAxisHorizontal;
|
||||
_onlineStackView.distribution = UIStackViewDistributionFill;
|
||||
_onlineStackView.alignment = UIStackViewAlignmentCenter;
|
||||
_onlineStackView.spacing = 2;
|
||||
}
|
||||
return _onlineStackView;
|
||||
}
|
||||
|
||||
- (UIView *)greenDotView {
|
||||
if (!_greenDotView) {
|
||||
_greenDotView = [[UIView alloc] init];
|
||||
_greenDotView.backgroundColor = [ThemeColor roomOnLineIdenColor];
|
||||
_greenDotView.layer.masksToBounds = YES;
|
||||
_greenDotView.layer.cornerRadius = 1.5;
|
||||
}
|
||||
return _greenDotView;
|
||||
}
|
||||
|
||||
- (YYLabel *)idLabel {
|
||||
if (!_idLabel) {
|
||||
_idLabel = [[YYLabel alloc] init];
|
||||
_idLabel.textColor = [ThemeColor secondTextColor];
|
||||
_idLabel.font = [UIFont systemFontOfSize:9];
|
||||
}
|
||||
return _idLabel;
|
||||
}
|
||||
|
||||
|
||||
@end
|
16
xplan-ios/Main/Room/XPRoomViewController.h
Normal file
@@ -0,0 +1,16 @@
|
||||
//
|
||||
// XPRoomViewController.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2021/10/11.
|
||||
//
|
||||
|
||||
#import "MvpViewController.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface XPRoomViewController : MvpViewController
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
140
xplan-ios/Main/Room/XPRoomViewController.m
Normal file
@@ -0,0 +1,140 @@
|
||||
//
|
||||
// XPRoomViewController.m
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2021/10/11.
|
||||
//
|
||||
|
||||
#import "XPRoomViewController.h"
|
||||
///Third
|
||||
#import <Masonry/Masonry.h>
|
||||
///Tool
|
||||
#import "XPMacro.h"
|
||||
///Manager
|
||||
#import "XPRoomBackUIManager.h"
|
||||
#import "XPRoomInfoManager.h"
|
||||
#import "XPRoomPositionManager.h"
|
||||
#import "XPRoomMessageManager.h"
|
||||
#import "XPRoomMenuManager.h"
|
||||
#import "XPRoomActivityManager.h"
|
||||
|
||||
@interface XPRoomViewController ()
|
||||
///背景
|
||||
@property (nonatomic,strong) XPRoomBackUIManager *backManager;
|
||||
///房间信息
|
||||
@property (nonatomic,strong) XPRoomInfoManager *infoManager;
|
||||
///坑位信息
|
||||
@property (nonatomic,strong) XPRoomPositionManager *positionManager;
|
||||
///公屏
|
||||
@property (nonatomic,strong) XPRoomMessageManager *messageManager;
|
||||
///底部操作栏
|
||||
@property (nonatomic,strong) XPRoomMenuManager *menuManager;
|
||||
///活动
|
||||
@property (nonatomic,strong) XPRoomActivityManager *activityManager;
|
||||
@end
|
||||
|
||||
@implementation XPRoomViewController
|
||||
|
||||
- (BOOL)isHiddenNavBar {
|
||||
return YES;
|
||||
}
|
||||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
[self initSubViews];
|
||||
[self initSubViewConstraints];
|
||||
}
|
||||
|
||||
#pragma mark - Private Method
|
||||
- (void)initSubViews {
|
||||
[self.view addSubview:self.backManager.containerView];
|
||||
[self.view addSubview:self.infoManager.containerView];
|
||||
[self.view addSubview:self.positionManager.containerView];
|
||||
[self.view addSubview:self.messageManager.containerView];
|
||||
[self.view addSubview:self.menuManager.containerView];
|
||||
[self.view addSubview:self.activityManager.containerView];
|
||||
}
|
||||
|
||||
- (void)initSubViewConstraints {
|
||||
[self.backManager.containerView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.mas_equalTo(self.view);
|
||||
}];
|
||||
|
||||
[self.infoManager.containerView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.right.top.mas_equalTo(self.view);
|
||||
make.height.mas_equalTo(kNavigationHeight);
|
||||
}];
|
||||
|
||||
[self.positionManager.containerView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.right.mas_equalTo(self.view);
|
||||
make.top.mas_equalTo(self.infoManager.containerView.mas_bottom);
|
||||
make.height.mas_equalTo(@280);
|
||||
}];
|
||||
|
||||
[self.messageManager.containerView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.equalTo(self.positionManager.containerView.mas_bottom);
|
||||
make.bottom.equalTo(self.menuManager.containerView.mas_top).offset(-5);
|
||||
make.left.equalTo(self.view);
|
||||
make.right.equalTo(self.activityManager.containerView.mas_left).offset(-10);
|
||||
}];
|
||||
|
||||
[self.menuManager.containerView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.right.mas_equalTo(self.view);
|
||||
make.bottom.mas_equalTo(-kSafeAreaBottomHeight- 8);
|
||||
make.height.mas_equalTo(40);
|
||||
}];
|
||||
|
||||
[self.activityManager.containerView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.mas_equalTo(self.messageManager.containerView);
|
||||
make.right.mas_equalTo(self.view);
|
||||
make.bottom.mas_equalTo(self.menuManager.containerView.mas_top).offset(-5);
|
||||
make.width.mas_equalTo(80);
|
||||
}];
|
||||
|
||||
}
|
||||
|
||||
|
||||
#pragma mark - Getters And Setters
|
||||
- (XPRoomBackUIManager *)backManager {
|
||||
if (!_backManager) {
|
||||
_backManager = [[XPRoomBackUIManager alloc] init];
|
||||
}
|
||||
return _backManager;
|
||||
}
|
||||
|
||||
- (XPRoomInfoManager *)infoManager {
|
||||
if (!_infoManager) {
|
||||
_infoManager = [[XPRoomInfoManager alloc] init];
|
||||
}
|
||||
return _infoManager;
|
||||
}
|
||||
|
||||
- (XPRoomPositionManager *)positionManager {
|
||||
if (!_positionManager) {
|
||||
_positionManager = [[XPRoomPositionManager alloc] init];
|
||||
}
|
||||
return _positionManager;
|
||||
}
|
||||
|
||||
- (XPRoomMessageManager *)messageManager {
|
||||
if (!_messageManager) {
|
||||
_messageManager = [[XPRoomMessageManager alloc] init];
|
||||
}
|
||||
return _messageManager;
|
||||
}
|
||||
|
||||
- (XPRoomMenuManager *)menuManager {
|
||||
if (!_menuManager) {
|
||||
_menuManager = [[XPRoomMenuManager alloc] init];
|
||||
}
|
||||
return _menuManager;
|
||||
}
|
||||
|
||||
- (XPRoomActivityManager *)activityManager {
|
||||
if (!_activityManager) {
|
||||
_activityManager = [[XPRoomActivityManager alloc] init];
|
||||
}
|
||||
return _activityManager;
|
||||
}
|
||||
|
||||
@end
|