Compare commits
11 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
864fa7f809 | ||
![]() |
9b51cb903f | ||
![]() |
1e5a984c64 | ||
![]() |
70ab9024fa | ||
![]() |
5f0a2bb930 | ||
![]() |
b9930737a8 | ||
![]() |
53e6eb6e3c | ||
![]() |
50635c6391 | ||
![]() |
f9e52ad286 | ||
![]() |
6378a2e509 | ||
![]() |
28ad714f6f |
@@ -219,6 +219,8 @@
|
||||
23844FC62B3AADA8002AD661 /* kMewMainHomePlayVoice.svga in Resources */ = {isa = PBXBuildFile; fileRef = 23844FC52B3AADA8002AD661 /* kMewMainHomePlayVoice.svga */; };
|
||||
23844FC82B3AADC5002AD661 /* kMewMainHoemloading.svga in Resources */ = {isa = PBXBuildFile; fileRef = 23844FC72B3AADC5002AD661 /* kMewMainHoemloading.svga */; };
|
||||
23844FCB2B3AC267002AD661 /* MewMineUserInfoOnRoomView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23844FCA2B3AC267002AD661 /* MewMineUserInfoOnRoomView.m */; };
|
||||
23C9DFBD2B82FDBA00B51558 /* MewRoomReceiveGiftLandscapeView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23C9DFBC2B82FDBA00B51558 /* MewRoomReceiveGiftLandscapeView.m */; };
|
||||
23C9DFC02B83057000B51558 /* MewRoomReceiveGiftPopupWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 23C9DFBF2B83057000B51558 /* MewRoomReceiveGiftPopupWindow.m */; };
|
||||
23CEFB692AFB32BE00576D89 /* XPRoomAnimationTool.m in Sources */ = {isa = PBXBuildFile; fileRef = 23CEFB682AFB32BE00576D89 /* XPRoomAnimationTool.m */; };
|
||||
23E1708C2AED2E080039DE62 /* YYTextAsyncLayer+XPTextAsyncLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 23E1708B2AED2E080039DE62 /* YYTextAsyncLayer+XPTextAsyncLayer.m */; };
|
||||
23EEB0622B3C1B3F00E8CA05 /* MewMainHomeEmptyCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 23EEB0612B3C1B3F00E8CA05 /* MewMainHomeEmptyCell.m */; };
|
||||
@@ -831,7 +833,6 @@
|
||||
E83DB47A27462C4500D8CBD1 /* XPGiftBigPrizeModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E83DB47927462C4500D8CBD1 /* XPGiftBigPrizeModel.m */; };
|
||||
E83DB47D2746372300D8CBD1 /* XPRoomGiftBannerView.m in Sources */ = {isa = PBXBuildFile; fileRef = E83DB47C2746372300D8CBD1 /* XPRoomGiftBannerView.m */; };
|
||||
E83DB481274649FB00D8CBD1 /* XPGiftBannerUserInfoModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E83DB480274649FB00D8CBD1 /* XPGiftBannerUserInfoModel.m */; };
|
||||
E83DB4842746661800D8CBD1 /* XPRoomGiftBroadcastView.m in Sources */ = {isa = PBXBuildFile; fileRef = E83DB4832746661800D8CBD1 /* XPRoomGiftBroadcastView.m */; };
|
||||
E83DB487274670DA00D8CBD1 /* XPRoomGiftBroadCastModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E83DB486274670DA00D8CBD1 /* XPRoomGiftBroadCastModel.m */; };
|
||||
E8412F9627795E34006E1101 /* XPRoomInviteFansView.m in Sources */ = {isa = PBXBuildFile; fileRef = E8412F9527795E34006E1101 /* XPRoomInviteFansView.m */; };
|
||||
E8412F9927799249006E1101 /* InviteFansModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E8412F9827799249006E1101 /* InviteFansModel.m */; };
|
||||
@@ -1826,6 +1827,10 @@
|
||||
23844FC72B3AADC5002AD661 /* kMewMainHoemloading.svga */ = {isa = PBXFileReference; lastKnownFileType = file; path = kMewMainHoemloading.svga; sourceTree = "<group>"; };
|
||||
23844FC92B3AC267002AD661 /* MewMineUserInfoOnRoomView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MewMineUserInfoOnRoomView.h; sourceTree = "<group>"; };
|
||||
23844FCA2B3AC267002AD661 /* MewMineUserInfoOnRoomView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MewMineUserInfoOnRoomView.m; sourceTree = "<group>"; };
|
||||
23C9DFBB2B82FDBA00B51558 /* MewRoomReceiveGiftLandscapeView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MewRoomReceiveGiftLandscapeView.h; sourceTree = "<group>"; };
|
||||
23C9DFBC2B82FDBA00B51558 /* MewRoomReceiveGiftLandscapeView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MewRoomReceiveGiftLandscapeView.m; sourceTree = "<group>"; };
|
||||
23C9DFBE2B83057000B51558 /* MewRoomReceiveGiftPopupWindow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MewRoomReceiveGiftPopupWindow.h; sourceTree = "<group>"; };
|
||||
23C9DFBF2B83057000B51558 /* MewRoomReceiveGiftPopupWindow.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MewRoomReceiveGiftPopupWindow.m; sourceTree = "<group>"; };
|
||||
23CEFB672AFB32BE00576D89 /* XPRoomAnimationTool.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomAnimationTool.h; sourceTree = "<group>"; };
|
||||
23CEFB682AFB32BE00576D89 /* XPRoomAnimationTool.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomAnimationTool.m; sourceTree = "<group>"; };
|
||||
23E1708A2AED2E080039DE62 /* YYTextAsyncLayer+XPTextAsyncLayer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "YYTextAsyncLayer+XPTextAsyncLayer.h"; path = "xplan-ios/Appdelegate/YYTextAsyncLayer+XPTextAsyncLayer.h"; sourceTree = SOURCE_ROOT; };
|
||||
@@ -2897,8 +2902,6 @@
|
||||
E83DB47C2746372300D8CBD1 /* XPRoomGiftBannerView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomGiftBannerView.m; sourceTree = "<group>"; };
|
||||
E83DB47F274649FB00D8CBD1 /* XPGiftBannerUserInfoModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPGiftBannerUserInfoModel.h; sourceTree = "<group>"; };
|
||||
E83DB480274649FB00D8CBD1 /* XPGiftBannerUserInfoModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPGiftBannerUserInfoModel.m; sourceTree = "<group>"; };
|
||||
E83DB4822746661800D8CBD1 /* XPRoomGiftBroadcastView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomGiftBroadcastView.h; sourceTree = "<group>"; };
|
||||
E83DB4832746661800D8CBD1 /* XPRoomGiftBroadcastView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomGiftBroadcastView.m; sourceTree = "<group>"; };
|
||||
E83DB485274670DA00D8CBD1 /* XPRoomGiftBroadCastModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomGiftBroadCastModel.h; sourceTree = "<group>"; };
|
||||
E83DB486274670DA00D8CBD1 /* XPRoomGiftBroadCastModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomGiftBroadCastModel.m; sourceTree = "<group>"; };
|
||||
E8412F9427795E34006E1101 /* XPRoomInviteFansView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomInviteFansView.h; sourceTree = "<group>"; };
|
||||
@@ -7065,8 +7068,10 @@
|
||||
9B8DE0E3289CF7AA00FB6EC2 /* XPRoomGiftCompoundView.m */,
|
||||
E83DB47B2746372300D8CBD1 /* XPRoomGiftBannerView.h */,
|
||||
E83DB47C2746372300D8CBD1 /* XPRoomGiftBannerView.m */,
|
||||
E83DB4822746661800D8CBD1 /* XPRoomGiftBroadcastView.h */,
|
||||
E83DB4832746661800D8CBD1 /* XPRoomGiftBroadcastView.m */,
|
||||
23C9DFBB2B82FDBA00B51558 /* MewRoomReceiveGiftLandscapeView.h */,
|
||||
23C9DFBC2B82FDBA00B51558 /* MewRoomReceiveGiftLandscapeView.m */,
|
||||
23C9DFBE2B83057000B51558 /* MewRoomReceiveGiftPopupWindow.h */,
|
||||
23C9DFBF2B83057000B51558 /* MewRoomReceiveGiftPopupWindow.m */,
|
||||
237B89EF2A948E60005DB380 /* XPRoomGameInviteBannerView.h */,
|
||||
237B89F02A948E60005DB380 /* XPRoomGameInviteBannerView.m */,
|
||||
E8A03DFD27635F960098D9EA /* XPRoomCandyGiftView.h */,
|
||||
@@ -10466,6 +10471,7 @@
|
||||
E8664ED027E42238000171BA /* XPRoomPKTimePickerView.m in Sources */,
|
||||
E824544826F5945300BE8163 /* XPMinePayPwdProtocol.h in Sources */,
|
||||
9BFB10162897AAB300B3985E /* XPNewUserRechargeSucessView.m in Sources */,
|
||||
23C9DFBD2B82FDBA00B51558 /* MewRoomReceiveGiftLandscapeView.m in Sources */,
|
||||
E8AB633628AE54A40023B0D2 /* XPSailingPrizeCollectionViewCell.m in Sources */,
|
||||
E824543A26F5880E00BE8163 /* XPLoginVerifBindPhoneProtocol.h in Sources */,
|
||||
E8E20BE2281695800033B688 /* XPMineLoginPasswordViewController.m in Sources */,
|
||||
@@ -11088,7 +11094,6 @@
|
||||
14A0CF4429C022D300B2375A /* XPMineRechargePayCollectionViewCell.m in Sources */,
|
||||
E8D34D5A28082357009C4835 /* UserGiftWallInfoModel.m in Sources */,
|
||||
189DD52E26DE255300AB55B1 /* AppDelegate.m in Sources */,
|
||||
E83DB4842746661800D8CBD1 /* XPRoomGiftBroadcastView.m in Sources */,
|
||||
E84150C527747E0900A7F548 /* FirstRechargeRewardModel.m in Sources */,
|
||||
E8A1E4572762092700B294CA /* XPCandyTreePresenter.m in Sources */,
|
||||
E8B9843328ABA2FF0022D026 /* MonentsPicResInfo.m in Sources */,
|
||||
@@ -11430,6 +11435,7 @@
|
||||
E8A30BEB28534A96003B4873 /* XPSessionFindNewFiltrateView.m in Sources */,
|
||||
E84BF7E0277C869A00EF8877 /* XPRoomOnLineViewController.m in Sources */,
|
||||
186A534826FC6ED900D67B2C /* TTAlertButtonConfig.m in Sources */,
|
||||
23C9DFC02B83057000B51558 /* MewRoomReceiveGiftPopupWindow.m in Sources */,
|
||||
E8ACEFF827C9034C00F66D1A /* XPHomeListEmptyTableViewCell.m in Sources */,
|
||||
E88749B6282B8FC600C3C7DB /* MonentsInfoModel.m in Sources */,
|
||||
E89D60BA271D643A001F8895 /* Api+Room.m in Sources */,
|
||||
@@ -11685,7 +11691,7 @@
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 2.1.0;
|
||||
MARKETING_VERSION = 2.1.1;
|
||||
OTHER_LDFLAGS = (
|
||||
"$(inherited)",
|
||||
"-ObjC",
|
||||
@@ -11948,7 +11954,7 @@
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 2.1.0;
|
||||
MARKETING_VERSION = 2.1.1;
|
||||
OTHER_LDFLAGS = (
|
||||
"$(inherited)",
|
||||
"-ObjC",
|
||||
|
@@ -31,7 +31,7 @@
|
||||
</Testables>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Release"
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
|
@@ -5,12 +5,12 @@
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_gift_broadcast_send@2x.png",
|
||||
"filename" : "mew_room_receive_high_bg@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_gift_broadcast_send@3x.png",
|
||||
"filename" : "mew_room_receive_high_bg@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 49 KiB |
@@ -5,12 +5,12 @@
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_gift_broadcast_close@2x.png",
|
||||
"filename" : "mew_room_receive_low_bg@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_gift_broadcast_close@3x.png",
|
||||
"filename" : "mew_room_receive_low_bg@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
After Width: | Height: | Size: 6.8 KiB |
After Width: | Height: | Size: 19 KiB |
@@ -5,12 +5,12 @@
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_gift_broadcast_low_bg@2x.png",
|
||||
"filename" : "mew_room_receive_middle_bg@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_gift_broadcast_low_bg@3x.png",
|
||||
"filename" : "mew_room_receive_middle_bg@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 37 KiB |
@@ -5,12 +5,12 @@
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_gift_broadcast_high_bg@2x.png",
|
||||
"filename" : "mew_room_receive_room_icon@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_gift_broadcast_high_bg@3x.png",
|
||||
"filename" : "mew_room_receive_room_icon@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
After Width: | Height: | Size: 431 B |
After Width: | Height: | Size: 599 B |
@@ -5,12 +5,12 @@
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_gift_broadcast_avatar_board@2x.png",
|
||||
"filename" : "mew_room_receive_window_no_select@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_gift_broadcast_avatar_board@3x.png",
|
||||
"filename" : "mew_room_receive_window_no_select@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
After Width: | Height: | Size: 295 B |
After Width: | Height: | Size: 444 B |
@@ -5,12 +5,12 @@
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_gift_broadcast_middle_bg@2x.png",
|
||||
"filename" : "mew_room_receive_window_select@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_gift_broadcast_middle_bg@3x.png",
|
||||
"filename" : "mew_room_receive_window_select@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
After Width: | Height: | Size: 409 B |
After Width: | Height: | Size: 590 B |
Before Width: | Height: | Size: 4.0 KiB |
Before Width: | Height: | Size: 7.1 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 65 KiB |
@@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_gift_broadcast_higher_nick_bg@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_gift_broadcast_higher_nick_bg@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 46 KiB |
Before Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 53 KiB |
@@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_gift_broadcast_normal_nick_bg@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_gift_broadcast_normal_nick_bg@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 674 B |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 2.9 KiB |
@@ -10,6 +10,7 @@
|
||||
#import <Masonry/Masonry.h>
|
||||
#import <IQKeyboardManager.h>
|
||||
#import <QYSDK_NIM/QYSDK.h>
|
||||
#import <NIMSDK/NIMSDK.h>
|
||||
///Tool
|
||||
#import "TTPopup.h"
|
||||
#import "XPMacro.h"
|
||||
@@ -66,6 +67,7 @@
|
||||
#import "XPMineCollectRoomListViewController.h"
|
||||
#import "XPNewUserRechargeViewController.h"
|
||||
#import "XPMineGameOrderVC.h"
|
||||
#import "SessionViewController.h"
|
||||
|
||||
@interface XPMineViewController ()<UITableViewDelegate, UITableViewDataSource, XPMineProtocol, XPMineHeadItemTableViewCellDelegate, XPMineHeadViewDelegate, XPMineMoreTableViewCellDelegate, XPHomeBannerTableViewCellDelegate>
|
||||
|
||||
@@ -662,15 +664,9 @@
|
||||
}
|
||||
break;
|
||||
case XPMineItemType_Customer_Center: {
|
||||
[QYSDK sharedSDK].customUIConfig.customerHeadImageUrl = self.userInfo.avatar;
|
||||
QYSource *source = [[QYSource alloc] init];
|
||||
source.title = @"音萌客服";
|
||||
source.urlString = @"https://gzhfwlkjyxgs.qiyukf.com/";
|
||||
[[IQKeyboardManager sharedManager].disabledDistanceHandlingClasses addObject:[QYSessionViewController class]];
|
||||
QYSessionViewController *sessionViewController = [[QYSDK sharedSDK] sessionViewController];
|
||||
sessionViewController.sessionTitle = @"音萌客服";
|
||||
sessionViewController.source = source;
|
||||
[self.navigationController pushViewController:sessionViewController animated:YES];
|
||||
NIMSession *session = [NIMSession session:@"200014" type:NIMSessionTypeP2P];
|
||||
SessionViewController *sessionVC = [[SessionViewController alloc] initWithSession:session];
|
||||
[self.navigationController pushViewController:sessionVC animated:YES];
|
||||
|
||||
}
|
||||
break;
|
||||
|
@@ -0,0 +1,29 @@
|
||||
//
|
||||
// MewRoomReceiveGiftLandscapeView.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by duoban on 2024/2/19.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "XPRoomGiftBroadCastModel.h"
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
@class MewRoomReceiveGiftLandscapeView;
|
||||
|
||||
@protocol MewRoomReceiveGiftLandscapeViewDelegate <NSObject>
|
||||
|
||||
|
||||
- (void)clickEnterRoom:(NSString *)roomUid roomTitle:(NSString *)title;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
@interface MewRoomReceiveGiftLandscapeView : UIView
|
||||
///
|
||||
@property (nonatomic,strong) XPRoomGiftBroadCastModel *model;
|
||||
|
||||
///代理
|
||||
@property (nonatomic,weak) id<MewRoomReceiveGiftLandscapeViewDelegate> delegate;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,308 @@
|
||||
//
|
||||
// MewRoomReceiveGiftLandscapeView.m
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by duoban on 2024/2/19.
|
||||
//
|
||||
|
||||
#import "MewRoomReceiveGiftLandscapeView.h"
|
||||
#import <MarqueeLabel.h>
|
||||
@interface MewRoomReceiveGiftLandscapeView ()
|
||||
///背景
|
||||
@property (nonatomic,strong) UIImageView *backImageView;
|
||||
///赠送者头像
|
||||
@property(nonatomic,strong) NetImageView *senderAvatarView;
|
||||
///赠送内容
|
||||
@property(nonatomic,strong) MarqueeLabel *pi_contentView;
|
||||
|
||||
///礼物
|
||||
@property (nonatomic,strong) NetImageView *giftImageView;
|
||||
///数量
|
||||
@property (nonatomic,strong) UILabel *countLabel;
|
||||
|
||||
///房间名
|
||||
@property (nonatomic,strong) UILabel *roomNameLabel;
|
||||
///房间背景
|
||||
@property (nonatomic,strong) UIImageView *pi_roomIconView;
|
||||
///去围观
|
||||
@property(nonatomic,strong) UIButton *circuseeBtn;
|
||||
@end
|
||||
@implementation MewRoomReceiveGiftLandscapeView
|
||||
- (instancetype)initWithFrame:(CGRect)frame
|
||||
{
|
||||
self = [super initWithFrame:frame];
|
||||
if (self) {
|
||||
[self initSubViews];
|
||||
[self initSubViewConstraints];
|
||||
[self initEvents];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
#pragma mark - Response
|
||||
|
||||
|
||||
- (void)didClickEnterRoom {
|
||||
if(self.model.roomTitle == nil)return;
|
||||
if (self.delegate && [self.delegate respondsToSelector:@selector(clickEnterRoom:roomTitle:)]) {
|
||||
[self.delegate clickEnterRoom:[NSString stringWithFormat:@"%ld", self.model.roomUid] roomTitle:self.model.roomTitle];
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - Private Method
|
||||
- (void)initSubViews {
|
||||
[self addSubview:self.backImageView];
|
||||
|
||||
|
||||
[self.backImageView addSubview:self.senderAvatarView];
|
||||
[self.backImageView addSubview:self.pi_contentView];
|
||||
[self.backImageView addSubview:self.pi_roomIconView];
|
||||
[self.backImageView addSubview:self.roomNameLabel];
|
||||
[self.backImageView addSubview:self.circuseeBtn];
|
||||
[self.backImageView addSubview:self.giftImageView];
|
||||
[self.backImageView addSubview:self.countLabel];
|
||||
|
||||
|
||||
}
|
||||
|
||||
- (void)initSubViewConstraints {
|
||||
|
||||
|
||||
[self.backImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.equalTo(self);
|
||||
}];
|
||||
|
||||
[self.senderAvatarView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.height.mas_equalTo(kGetScaleWidth(44));
|
||||
make.leading.mas_equalTo(kGetScaleWidth(23));
|
||||
make.centerY.equalTo(self.backImageView);
|
||||
}];
|
||||
[self.pi_contentView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.leading.equalTo(self.senderAvatarView.mas_trailing).mas_offset(kGetScaleWidth(13));
|
||||
make.top.mas_equalTo(kGetScaleWidth(18));
|
||||
make.trailing.mas_equalTo(-kGetScaleWidth(133));
|
||||
make.height.mas_equalTo(kGetScaleWidth(14));
|
||||
}];
|
||||
|
||||
[self.pi_roomIconView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.height.mas_equalTo(kGetScaleWidth(12));
|
||||
make.leading.equalTo(self.senderAvatarView.mas_trailing).mas_offset(kGetScaleWidth(11));
|
||||
make.top.mas_equalTo(kGetScaleWidth(39));
|
||||
}];
|
||||
[self.roomNameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.leading.mas_equalTo(kGetScaleWidth(92));
|
||||
make.top.mas_equalTo(kGetScaleWidth(40));
|
||||
make.height.mas_equalTo(kGetScaleWidth(12));
|
||||
make.width.mas_equalTo(kGetScaleWidth(105));
|
||||
|
||||
}];
|
||||
[self.circuseeBtn mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.mas_equalTo(kGetScaleWidth(44));
|
||||
make.height.mas_equalTo(kGetScaleWidth(20));
|
||||
make.leading.equalTo(self.roomNameLabel.mas_trailing).mas_offset(kGetScaleWidth(5));
|
||||
make.centerY.equalTo(self.roomNameLabel);
|
||||
}];
|
||||
[self.giftImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.size.mas_equalTo(CGSizeMake(kGetScaleWidth(64), kGetScaleWidth(64)));
|
||||
make.centerY.mas_equalTo(self.backImageView);
|
||||
make.trailing.mas_equalTo(-kGetScaleWidth(64));
|
||||
}];
|
||||
|
||||
[self.countLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.leading.mas_equalTo(self.giftImageView.mas_trailing).offset(kGetScaleWidth(2));
|
||||
make.centerY.mas_equalTo(self.backImageView);
|
||||
}];
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
- (void)initEvents {
|
||||
[self.circuseeBtn addTarget:self action:@selector(didClickEnterRoom) forControlEvents:UIControlEventTouchUpInside];
|
||||
}
|
||||
|
||||
- (void)updateSubviews:(BroadCastLevel)level {
|
||||
UIColor * lineColor;
|
||||
UIColor *bgBtnColor;
|
||||
NSString * bgImageName;
|
||||
|
||||
|
||||
|
||||
switch (level) {
|
||||
case BroadCastLevel_Normal:
|
||||
{
|
||||
|
||||
|
||||
lineColor = UIColorFromRGB(0x66B5FF);
|
||||
bgBtnColor = UIColorFromRGB(0x283889);
|
||||
bgImageName = @"mew_room_receive_low_bg";
|
||||
|
||||
|
||||
}
|
||||
break;
|
||||
case BroadCastLevel_Middle:
|
||||
{
|
||||
|
||||
|
||||
|
||||
lineColor = UIColorFromRGB(0xFE9FFF);
|
||||
bgBtnColor = UIColorFromRGB(0x49157D);
|
||||
|
||||
bgImageName = @"mew_room_receive_middle_bg";
|
||||
|
||||
|
||||
}
|
||||
break;
|
||||
case BroadCastLevel_High:
|
||||
{
|
||||
|
||||
|
||||
|
||||
|
||||
lineColor = UIColorFromRGB(0xFFED77);
|
||||
bgBtnColor = UIColorFromRGB(0x87152D);
|
||||
|
||||
bgImageName = @"mew_room_receive_high_bg";
|
||||
|
||||
|
||||
}
|
||||
break;
|
||||
default:
|
||||
{
|
||||
|
||||
|
||||
|
||||
lineColor = UIColorFromRGB(0x66B5FF);
|
||||
bgBtnColor = UIColorFromRGB(0x283889);
|
||||
|
||||
bgImageName = @"mew_room_receive_low_bg";
|
||||
|
||||
|
||||
}
|
||||
break;
|
||||
}
|
||||
self.backImageView.image = [UIImage imageNamed:bgImageName];
|
||||
self.circuseeBtn.layer.borderColor = lineColor.CGColor;
|
||||
self.circuseeBtn.backgroundColor = bgBtnColor;
|
||||
}
|
||||
|
||||
-(void)showRoomVC{
|
||||
[self didClickEnterRoom];
|
||||
}
|
||||
#pragma mark - Getters And Setters
|
||||
- (void)setModel:(XPRoomGiftBroadCastModel *)model {
|
||||
_model = model;
|
||||
if (_model) {
|
||||
_roomNameLabel.hidden = _model.roomTitle.length == 0;
|
||||
_pi_roomIconView.hidden = _model.roomTitle.length == 0;
|
||||
_circuseeBtn.hidden = _model.roomTitle.length == 0;
|
||||
if(_model.roomTitle.length == 0){
|
||||
[self.pi_contentView mas_remakeConstraints:^(MASConstraintMaker *make) {
|
||||
make.leading.equalTo(self.senderAvatarView.mas_trailing).mas_offset(kGetScaleWidth(13));
|
||||
make.centerY.equalTo(self.backImageView);
|
||||
make.trailing.mas_equalTo(-kGetScaleWidth(133));
|
||||
make.height.mas_equalTo(kGetScaleWidth(14));
|
||||
}];
|
||||
}
|
||||
NSString *sendUserNick = _model.sendUserNick ?: @"";
|
||||
NSString *recvUserNick = _model.recvUserNick ?: @"";
|
||||
self.senderAvatarView.imageUrl = _model.sendUserAvatar;
|
||||
sendUserNick = sendUserNick.length > 6 ? [NSString stringWithFormat:@"%@...",[sendUserNick substringToIndex:6]] : sendUserNick;
|
||||
recvUserNick = recvUserNick.length > 6 ? [NSString stringWithFormat:@"%@...",[recvUserNick substringToIndex:6]] : recvUserNick;
|
||||
NSString *giftName = [NSString stringWithFormat:@"%@ %@ %@ %@",sendUserNick,@"送給",recvUserNick,_model.giftName];
|
||||
NSMutableAttributedString *giftNameAtt = [[NSMutableAttributedString alloc]initWithString:giftName attributes:@{NSFontAttributeName:kFontMedium(14),NSForegroundColorAttributeName:[UIColor whiteColor]}];
|
||||
[giftNameAtt addAttributes:@{NSFontAttributeName:kFontMedium(14),NSForegroundColorAttributeName:UIColorFromRGB(0xFFE468)} range:[giftName rangeOfString:sendUserNick]];
|
||||
[giftNameAtt addAttributes:@{NSFontAttributeName:kFontMedium(14),NSForegroundColorAttributeName:UIColorFromRGB(0xFFE468)} range:[giftName rangeOfString:recvUserNick]];
|
||||
self.pi_contentView.attributedText = giftNameAtt;
|
||||
self.giftImageView.imageUrl = _model.giftUrl;
|
||||
self.roomNameLabel.text = _model.roomTitle;
|
||||
if(_model.giftNum > 1){
|
||||
self.countLabel.text = [NSString stringWithFormat:@"x%ld", _model.giftNum];
|
||||
}
|
||||
[self updateSubviews:_model.levelNum];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
- (UIImageView *)backImageView {
|
||||
if (!_backImageView) {
|
||||
_backImageView = [[UIImageView alloc] init];
|
||||
_backImageView.userInteractionEnabled = YES;
|
||||
}
|
||||
return _backImageView;
|
||||
}
|
||||
-(NetImageView *)senderAvatarView{
|
||||
if(!_senderAvatarView){
|
||||
NetImageConfig *config = [[NetImageConfig alloc]init];
|
||||
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
|
||||
_senderAvatarView = [[NetImageView alloc]initWithConfig:config];
|
||||
_senderAvatarView.layer.cornerRadius = kGetScaleWidth(44)/2;
|
||||
_senderAvatarView.layer.masksToBounds = YES;
|
||||
_senderAvatarView.userInteractionEnabled = YES;
|
||||
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(showRoomVC)];
|
||||
[_senderAvatarView addGestureRecognizer:tap];
|
||||
}
|
||||
return _senderAvatarView;
|
||||
}
|
||||
|
||||
- (MarqueeLabel *)pi_contentView{
|
||||
if(!_pi_contentView){
|
||||
_pi_contentView = [[MarqueeLabel alloc] init];
|
||||
_pi_contentView.scrollDuration = 6.0;
|
||||
_pi_contentView.fadeLength = 8.0f;
|
||||
_pi_contentView.textAlignment = NSTextAlignmentCenter;
|
||||
}
|
||||
return _pi_contentView;
|
||||
}
|
||||
|
||||
|
||||
- (NetImageView *)giftImageView {
|
||||
if (!_giftImageView) {
|
||||
|
||||
_giftImageView = [[NetImageView alloc] init];
|
||||
}
|
||||
return _giftImageView;
|
||||
}
|
||||
|
||||
- (UILabel *)countLabel {
|
||||
if (!_countLabel) {
|
||||
_countLabel = [[UILabel alloc] init];
|
||||
_countLabel.textColor = UIColorFromRGB(0xFFE468);
|
||||
_countLabel.font = kFontHeavy(16);
|
||||
|
||||
}
|
||||
return _countLabel;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
- (UILabel *)roomNameLabel {
|
||||
if (!_roomNameLabel) {
|
||||
_roomNameLabel = [[UILabel alloc] init];
|
||||
_roomNameLabel.font = kFontRegular(12);
|
||||
_roomNameLabel.textColor = [UIColor whiteColor];
|
||||
}
|
||||
return _roomNameLabel;
|
||||
}
|
||||
- (UIImageView *)pi_roomIconView{
|
||||
if(!_pi_roomIconView){
|
||||
_pi_roomIconView = [UIImageView new];
|
||||
_pi_roomIconView.image = kImage(@"mew_room_receive_room_icon");
|
||||
}
|
||||
return _pi_roomIconView;
|
||||
}
|
||||
- (UIButton *)circuseeBtn{
|
||||
if(!_circuseeBtn){
|
||||
_circuseeBtn = [UIButton new];
|
||||
[_circuseeBtn setTitle:@"去围观" forState:UIControlStateNormal];
|
||||
_circuseeBtn.titleLabel.font = kFontRegular(10);
|
||||
_circuseeBtn.layer.cornerRadius = kGetScaleWidth(20)/2;
|
||||
_circuseeBtn.layer.borderWidth = 1;
|
||||
_circuseeBtn.layer.masksToBounds = YES;
|
||||
}
|
||||
return _circuseeBtn;
|
||||
}
|
||||
|
||||
@end
|
@@ -0,0 +1,25 @@
|
||||
//
|
||||
// MewRoomReceiveGiftPopupWindow.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by duoban on 2024/2/19.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
|
||||
@protocol MewRoomReceiveGiftPopupWindowDelegate <NSObject>
|
||||
|
||||
-(void)clickCircuseeRoom:(NSString *)roomUid;
|
||||
|
||||
@end
|
||||
|
||||
@interface MewRoomReceiveGiftPopupWindow : UIView
|
||||
@property(nonatomic,copy) NSString *roomName;
|
||||
@property(nonatomic,copy) NSString *roodUid;
|
||||
@property(nonatomic,weak) id<MewRoomReceiveGiftPopupWindowDelegate>delegate;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,192 @@
|
||||
//
|
||||
// MewRoomReceiveGiftPopupWindow.m
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by duoban on 2024/2/19.
|
||||
//
|
||||
|
||||
#import "MewRoomReceiveGiftPopupWindow.h"
|
||||
@interface MewRoomReceiveGiftPopupWindow()
|
||||
///背景
|
||||
@property(nonatomic,strong) UIView *bgView;
|
||||
///标题
|
||||
@property(nonatomic,strong) UILabel *titleView;
|
||||
///提示
|
||||
@property(nonatomic,strong) UILabel *mew_tipsView;
|
||||
///房间名
|
||||
@property(nonatomic,strong) UILabel *roomNameView;
|
||||
///选中
|
||||
@property(nonatomic,strong) UIButton *mew_selectView;
|
||||
///选中提示
|
||||
@property(nonatomic,strong) UILabel *mew_selectTipsView;
|
||||
///取消
|
||||
@property(nonatomic,strong) UIButton *mew_cancelBtn;
|
||||
///确认
|
||||
@property(nonatomic,strong) UIButton *mew_confirmBtn;
|
||||
@end
|
||||
@implementation MewRoomReceiveGiftPopupWindow
|
||||
|
||||
-(instancetype)initWithFrame:(CGRect)frame{
|
||||
self = [super initWithFrame:frame];
|
||||
if(self){
|
||||
[self installUI];
|
||||
[self installConstraints];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
-(void)installUI{
|
||||
self.backgroundColor = [UIColor colorWithWhite:0 alpha:0.4];
|
||||
[self addSubview:self.bgView];
|
||||
[self.bgView addSubview:self.titleView];
|
||||
[self.bgView addSubview:self.mew_tipsView];
|
||||
[self.bgView addSubview:self.roomNameView];
|
||||
[self.bgView addSubview:self.mew_selectView];
|
||||
[self.bgView addSubview:self.mew_selectTipsView];
|
||||
[self.bgView addSubview:self.mew_cancelBtn];
|
||||
[self.bgView addSubview:self.mew_confirmBtn];
|
||||
}
|
||||
-(void)installConstraints{
|
||||
[self.bgView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.mas_equalTo(kGetScaleWidth(319));
|
||||
make.height.mas_equalTo(kGetScaleWidth(230));
|
||||
make.center.equalTo(self);
|
||||
}];
|
||||
[self.titleView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.mas_equalTo(kGetScaleWidth(24));
|
||||
make.centerX.equalTo(self.bgView);
|
||||
make.height.mas_equalTo(kGetScaleWidth(20));
|
||||
}];
|
||||
[self.mew_tipsView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.mas_equalTo(kGetScaleWidth(68));
|
||||
make.centerX.equalTo(self.bgView);
|
||||
make.height.mas_equalTo(kGetScaleWidth(20));
|
||||
}];
|
||||
[self.roomNameView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.mas_equalTo(kGetScaleWidth(90));
|
||||
make.leading.trailing.equalTo(self.bgView).inset(kGetScaleWidth(10));
|
||||
make.height.mas_equalTo(kGetScaleWidth(20));
|
||||
}];
|
||||
[self.mew_selectTipsView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.centerX.equalTo(self.bgView.mas_centerX).mas_equalTo(kGetScaleWidth(9));
|
||||
make.top.mas_equalTo(kGetScaleWidth(124));
|
||||
make.height.mas_equalTo(kGetScaleWidth(20));
|
||||
}];
|
||||
[self.mew_selectView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.height.mas_equalTo(kGetScaleWidth(14));
|
||||
make.trailing.equalTo(self.mew_selectTipsView.mas_leading).mas_offset(-kGetScaleWidth(4));
|
||||
make.centerY.equalTo(self.mew_selectTipsView);
|
||||
}];
|
||||
|
||||
[self.mew_cancelBtn mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.mas_equalTo(kGetScaleWidth(124));
|
||||
make.height.mas_equalTo(kGetScaleWidth(42));
|
||||
make.top.mas_equalTo(kGetScaleWidth(164));
|
||||
make.leading.mas_equalTo(kGetScaleWidth(28));
|
||||
}];
|
||||
[self.mew_confirmBtn mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.mas_equalTo(kGetScaleWidth(124));
|
||||
make.height.mas_equalTo(kGetScaleWidth(42));
|
||||
make.top.mas_equalTo(kGetScaleWidth(164));
|
||||
make.trailing.mas_equalTo(-kGetScaleWidth(28));
|
||||
}];
|
||||
|
||||
}
|
||||
-(void)mew_cancelAction{
|
||||
[self removeFromSuperview];
|
||||
}
|
||||
-(void)selectAction:(UIButton *)sender{
|
||||
sender.selected = !sender.selected;
|
||||
|
||||
|
||||
if(sender.selected == YES){
|
||||
[[NSUserDefaults standardUserDefaults]setValue:@(YES) forKey:@"kSaveShowReceiveGiftPopupWindowSelectState"];
|
||||
[[NSUserDefaults standardUserDefaults]synchronize];
|
||||
}else{
|
||||
[[NSUserDefaults standardUserDefaults]removeObjectForKey:@"kSaveShowReceiveGiftPopupWindowSelectState"];
|
||||
}
|
||||
}
|
||||
- (void)setRoomName:(NSString *)roomName{
|
||||
_roomName = roomName;
|
||||
self.roomNameView.text = [NSString stringWithFormat:@"“%@”",_roomName];
|
||||
}
|
||||
-(void)piConfirmAction{
|
||||
[self removeFromSuperview];
|
||||
if(self.delegate && [self.delegate respondsToSelector:@selector(clickCircuseeRoom:)]){
|
||||
[self.delegate clickCircuseeRoom:self.roodUid];
|
||||
}
|
||||
}
|
||||
#pragma mark - 懒加载
|
||||
- (UIView *)bgView{
|
||||
if(!_bgView){
|
||||
_bgView = [UIView new];
|
||||
_bgView.backgroundColor = [UIColor whiteColor];
|
||||
[_bgView setCornerWithLeftTopCorner:kGetScaleWidth(20) rightTopCorner:kGetScaleWidth(20) bottomLeftCorner:kGetScaleWidth(20) bottomRightCorner:kGetScaleWidth(20) size:CGSizeMake(kGetScaleWidth(319), kGetScaleWidth(230))];
|
||||
}
|
||||
return _bgView;
|
||||
}
|
||||
- (UILabel *)titleView{
|
||||
if(!_titleView){
|
||||
_titleView = [UILabel labelInitWithText:@"前往围观" font:kFontSemibold(18) textColor:UIColorFromRGB(0x1F1B4F)];
|
||||
_titleView.textAlignment = NSTextAlignmentCenter;
|
||||
}
|
||||
return _titleView;
|
||||
}
|
||||
- (UILabel *)mew_tipsView{
|
||||
if(!_mew_tipsView){
|
||||
_mew_tipsView = [UILabel labelInitWithText:@"是否离开当前房间前往" font:kFontRegular(14) textColor:UIColorFromRGB(0x1F1B4F)];
|
||||
_mew_tipsView.textAlignment = NSTextAlignmentCenter;
|
||||
}
|
||||
return _mew_tipsView;
|
||||
}
|
||||
- (UILabel *)roomNameView{
|
||||
if(!_roomNameView){
|
||||
_roomNameView = [UILabel labelInitWithText:@"" font:kFontRegular(14) textColor:UIColorFromRGB(0x9168FA)];
|
||||
_roomNameView.textAlignment = NSTextAlignmentCenter;
|
||||
}
|
||||
return _roomNameView;
|
||||
}
|
||||
- (UIButton *)mew_selectView{
|
||||
if(!_mew_selectView){
|
||||
_mew_selectView = [UIButton new];
|
||||
[_mew_selectView setEnlargeEdgeWithTop:10 right:10 bottom:10 left:10];
|
||||
[_mew_selectView setImage:kImage(@"mew_room_receive_window_select") forState:UIControlStateSelected];
|
||||
[_mew_selectView setImage:kImage(@"mew_room_receive_window_no_select") forState:UIControlStateNormal];
|
||||
[_mew_selectView addTarget:self action:@selector(selectAction:) forControlEvents:UIControlEventTouchUpInside];
|
||||
}
|
||||
return _mew_selectView;
|
||||
}
|
||||
- (UILabel *)mew_selectTipsView{
|
||||
if(!_mew_selectTipsView){
|
||||
_mew_selectTipsView = [UILabel labelInitWithText:@"下次不再出现此提示" font:kFontRegular(12) textColor:UIColorFromRGB(0xB3B3C3)];
|
||||
}
|
||||
return _mew_selectTipsView;
|
||||
}
|
||||
- (UIButton *)mew_cancelBtn{
|
||||
if(!_mew_cancelBtn){
|
||||
_mew_cancelBtn = [UIButton new];
|
||||
_mew_cancelBtn.backgroundColor = UIColorFromRGB(0xE6E6F0);
|
||||
[_mew_cancelBtn setTitle:@"留在这" forState:UIControlStateNormal];
|
||||
_mew_cancelBtn.titleLabel.font = kFontMedium(16);
|
||||
[_mew_cancelBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
|
||||
_mew_cancelBtn.layer.cornerRadius = kGetScaleWidth(42)/2;
|
||||
_mew_cancelBtn.layer.masksToBounds = YES;
|
||||
[_mew_cancelBtn addTarget:self action:@selector(mew_cancelAction) forControlEvents:UIControlEventTouchUpInside];
|
||||
}
|
||||
return _mew_cancelBtn;
|
||||
}
|
||||
- (UIButton *)mew_confirmBtn{
|
||||
if(!_mew_confirmBtn){
|
||||
_mew_confirmBtn = [UIButton new];
|
||||
UIImage *image = [UIImage gradientColorImageFromColors:@[[ThemeColor confirmButtonGradientStartColor],[ThemeColor confirmButtonGradientEndColor]] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(kGetScaleWidth(124), kGetScaleWidth(42))];
|
||||
[_mew_confirmBtn setBackgroundImage:image forState:UIControlStateNormal];
|
||||
[_mew_confirmBtn setTitle:@"立即前往" forState:UIControlStateNormal];
|
||||
_mew_confirmBtn.titleLabel.font = kFontMedium(16);
|
||||
[_mew_confirmBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
|
||||
_mew_confirmBtn.layer.cornerRadius = kGetScaleWidth(42)/2;
|
||||
_mew_confirmBtn.layer.masksToBounds = YES;
|
||||
[_mew_confirmBtn addTarget:self action:@selector(piConfirmAction) forControlEvents:UIControlEventTouchUpInside];
|
||||
}
|
||||
return _mew_confirmBtn;
|
||||
}
|
||||
|
||||
@end
|
@@ -43,6 +43,7 @@ typedef NS_ENUM(NSInteger, BroadCastLevel) {
|
||||
@property (nonatomic,copy) NSString *roomErbanNo;
|
||||
///是否年度飘屏
|
||||
@property (nonatomic, assign) BOOL ceremonyGift;
|
||||
@property(nonatomic,copy) NSString *roomTitle;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -44,7 +44,7 @@
|
||||
#import "XPStarredKitchenModel.h"
|
||||
///View
|
||||
#import "XPRoomGiftBannerView.h"
|
||||
#import "XPRoomGiftBroadcastView.h"
|
||||
#import "MewRoomReceiveGiftLandscapeView.h"
|
||||
#import "XPRoomCandyGiftView.h"
|
||||
#import "XPRoomDatingAnimationView.h"
|
||||
#import "XPRoomNobleLevelUpView.h"
|
||||
@@ -61,8 +61,8 @@
|
||||
#import "XPStarredKitchenGiftView.h"
|
||||
#import "XPWebViewController.h"
|
||||
#import "XPRoomAnimationTool.h"
|
||||
|
||||
@interface XPRoomAnimationView ()<SVGAPlayerDelegate,NIMBroadcastManagerDelegate, XPRoomGiftBroadcastViewDelegate, HWDMP4PlayDelegate, XPRoomLuckyBigPrizeViewDelegate,XPRoomLicneseHourRankViewDelegate, XPRoomGraffitiGiftAnimationViewDelegate, XPStarredKitchenGiftViewDelegate>
|
||||
#import "MewRoomReceiveGiftPopupWindow.h"
|
||||
@interface XPRoomAnimationView ()<SVGAPlayerDelegate,NIMBroadcastManagerDelegate, MewRoomReceiveGiftLandscapeViewDelegate, HWDMP4PlayDelegate, XPRoomLuckyBigPrizeViewDelegate,XPRoomLicneseHourRankViewDelegate, XPRoomGraffitiGiftAnimationViewDelegate, XPStarredKitchenGiftViewDelegate,MewRoomReceiveGiftPopupWindowDelegate>
|
||||
///展示的不同层级
|
||||
///最底层的
|
||||
@property (nonatomic,strong) XPRoomAnimationHitView * lowLevelView;
|
||||
@@ -1244,15 +1244,15 @@
|
||||
}
|
||||
|
||||
- (void)createGiftBroadcastViewAnimation:(XPRoomGiftBroadCastModel *)giftModel {
|
||||
XPRoomGiftBroadcastView * view = [[XPRoomGiftBroadcastView alloc] init];
|
||||
MewRoomReceiveGiftLandscapeView * view = [[MewRoomReceiveGiftLandscapeView alloc] init];
|
||||
view.delegate = self;
|
||||
view.frame = CGRectMake(KScreenWidth, 35 + statusbarHeight, KScreenWidth, 150);
|
||||
view.broadcastModel = giftModel;
|
||||
view.frame = CGRectMake(KScreenWidth, 35 + statusbarHeight, KScreenWidth, kGetScaleWidth(69));;
|
||||
view.model = giftModel;
|
||||
[self.highLevleView addSubview:view];
|
||||
[self beginGiftBraodcastViewAnimation:view notifyStaySecond:giftModel.notifyStaySecond];
|
||||
}
|
||||
|
||||
- (void)beginGiftBraodcastViewAnimation:(XPRoomGiftBroadcastView *)view notifyStaySecond:(int)notifyStaySecond{
|
||||
- (void)beginGiftBraodcastViewAnimation:(MewRoomReceiveGiftLandscapeView *)view notifyStaySecond:(int)notifyStaySecond{
|
||||
CGFloat startTime = notifyStaySecond > 0 ? notifyStaySecond : 3.0;
|
||||
POPSpringAnimation *springAnimation = [POPSpringAnimation animationWithPropertyNamed:kPOPViewCenter];
|
||||
springAnimation.springSpeed = 12;
|
||||
@@ -1267,7 +1267,7 @@
|
||||
[view pop_addAnimation:springAnimation forKey:@"spingOutAnimation"];
|
||||
}
|
||||
|
||||
- (void)removeGiftBroadcastOutAnimation:(XPRoomGiftBroadcastView *)view stayTime:(CGFloat)stayTime{
|
||||
- (void)removeGiftBroadcastOutAnimation:(MewRoomReceiveGiftLandscapeView *)view stayTime:(CGFloat)stayTime{
|
||||
POPBasicAnimation *moveAnimation = [POPBasicAnimation animationWithPropertyNamed:kPOPViewCenter];
|
||||
moveAnimation.fromValue = [NSValue valueWithCGPoint:view.center];
|
||||
moveAnimation.toValue = [NSValue valueWithCGPoint:CGPointMake(-KScreenWidth/2, view.center.y)];
|
||||
@@ -1294,7 +1294,17 @@
|
||||
}
|
||||
|
||||
#pragma mark - XPRoomGiftBroadcastViewDelegate
|
||||
- (void)xPRoomGiftBroadcastView:(XPRoomGiftBroadcastView *)view enterRoom:(NSString *)roomUid {
|
||||
- (void)clickEnterRoom:(NSString *)roomUid roomTitle:(NSString *)title{
|
||||
id isShowBroadcastView = [[NSUserDefaults standardUserDefaults]valueForKey:@"kSaveShowReceiveGiftPopupWindowSelectState"];
|
||||
if(isShowBroadcastView == nil){
|
||||
MewRoomReceiveGiftPopupWindow *broadcastView = [[MewRoomReceiveGiftPopupWindow alloc] initWithFrame:CGRectMake(0, 0, KScreenWidth, KScreenHeight)];
|
||||
broadcastView.roodUid = roomUid;
|
||||
broadcastView.roomName = title;
|
||||
broadcastView.delegate = self;
|
||||
[kWindow addSubview:broadcastView];
|
||||
return;
|
||||
}
|
||||
|
||||
if (roomUid.length > 0 && self.delegate.getRoomInfo.uid != roomUid.integerValue) {
|
||||
[self.delegate exitRoom];
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.7 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
||||
@@ -1302,15 +1312,13 @@
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
- (void)xPRoomGiftBroadcastView:(XPRoomGiftBroadcastView *)view didClickClose:(XPRoomGiftBroadCastModel *)broadcastModel {
|
||||
[view removeFromSuperview];
|
||||
[view pop_removeAllAnimations];
|
||||
if ([self.giftBroadcastQueue containsObject:broadcastModel]) {
|
||||
[self.giftBroadcastQueue removeObject:broadcastModel];
|
||||
}
|
||||
if (self.giftBroadcastQueue.count > 0) {
|
||||
[self createGiftBroadcastViewAnimation:self.giftBroadcastQueue.firstObject];
|
||||
#pragma mark - MewRoomReceiveGiftPopupWindowDelegate
|
||||
-(void)clickCircuseeRoom:(NSString *)roomUid{
|
||||
if (roomUid.length > 0 && self.delegate.getRoomInfo.uid != roomUid.integerValue) {
|
||||
[self.delegate exitRoom];
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.7 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
||||
[XPRoomViewController openRoom:roomUid viewController:[XCCurrentVCStackManager shareManager].getCurrentVC];
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1471,58 +1479,12 @@
|
||||
if (!giftInfo) {
|
||||
giftInfo = [[XPGiftStorage shareStorage] findGiftInfo: receiveInfo.giftId];
|
||||
}
|
||||
NSInteger giftTotal = 0;
|
||||
if (receiveInfo.targetUids.count > 0) {
|
||||
giftTotal = receiveInfo.giftNum * giftInfo.goldPrice * receiveInfo.targetUids.count;
|
||||
} else {
|
||||
giftTotal = receiveInfo.giftNum * giftInfo.goldPrice;
|
||||
}
|
||||
if (giftTotal >= 520) {
|
||||
__block XPRoomGiftBannerView *view = [self.bannerDequePool anyObject];
|
||||
if (view == nil) {
|
||||
view = [[XPRoomGiftBannerView alloc] init];
|
||||
[self.bannerVisiablePool addObject:view];
|
||||
}else{
|
||||
[self.bannerDequePool removeObject:view];
|
||||
}
|
||||
[self removeGiftBannerView:view];
|
||||
[view configGiftBanner:receiveInfo users:[self makeBannerUsers]];
|
||||
view.frame = CGRectMake(KScreenWidth, 100, KScreenWidth, 153);
|
||||
[self.lowLevelView addSubview:view];
|
||||
POPSpringAnimation *springAnimation = [POPSpringAnimation animationWithPropertyNamed:kPOPViewCenter];
|
||||
springAnimation.springSpeed = 12;
|
||||
springAnimation.springBounciness = 10.f;
|
||||
springAnimation.fromValue = [NSValue valueWithCGPoint:view.center];
|
||||
springAnimation.toValue = [NSValue valueWithCGPoint:CGPointMake(view.frame.size.width / 2, view.center.y)];
|
||||
@kWeakify(self);
|
||||
[springAnimation setCompletionBlock:^(POPAnimation *anim, BOOL finished) {
|
||||
@kStrongify(self);
|
||||
if (finished) {
|
||||
[self removeAnimation:view];
|
||||
}
|
||||
}];
|
||||
|
||||
[springAnimation setAnimationDidStartBlock:^(POPAnimation *anim) {
|
||||
@kStrongify(self);
|
||||
|
||||
if (giftInfo.otherViewType == GiftOtherViewTypeMp4 && giftInfo.viewUrl.length > 0 && [self.delegate getRoomInfo].hasAnimationEffect) {
|
||||
[self largeGiftStopCarEffect:giftInfo.goldPrice];
|
||||
[self playGiftEffectWithVapUrl:giftInfo.viewUrl];
|
||||
} else if (giftInfo.hasVggPic && giftInfo.vggUrl.length > 0 && [self.delegate getRoomInfo].hasAnimationEffect) {
|
||||
[self largeGiftStopCarEffect:giftInfo.goldPrice];
|
||||
[self playGiftEffect:giftInfo.vggUrl];
|
||||
}
|
||||
}];
|
||||
|
||||
[view pop_addAnimation:springAnimation forKey:@"spingOutAnimation"];
|
||||
} else {
|
||||
if (giftInfo.otherViewType == GiftOtherViewTypeMp4 && receiveInfo.viewUrl.length > 0) {//播放vap动效
|
||||
[self largeGiftStopCarEffect:giftInfo.goldPrice];
|
||||
[self playGiftEffectWithVapUrl:receiveInfo.viewUrl];
|
||||
} else if (receiveInfo.vggUrl.length > 0) {///如果有特效的话就播放特效
|
||||
[self largeGiftStopCarEffect:giftInfo.goldPrice];
|
||||
[self playGiftEffect:receiveInfo.vggUrl];
|
||||
}
|
||||
if (giftInfo.otherViewType == GiftOtherViewTypeMp4 && giftInfo.viewUrl.length > 0 && [self.delegate getRoomInfo].hasAnimationEffect) {
|
||||
[self largeGiftStopCarEffect:giftInfo.goldPrice];
|
||||
[self playGiftEffectWithVapUrl:giftInfo.viewUrl];
|
||||
} else if (giftInfo.hasVggPic && giftInfo.vggUrl.length > 0 && [self.delegate getRoomInfo].hasAnimationEffect) {
|
||||
[self largeGiftStopCarEffect:giftInfo.goldPrice];
|
||||
[self playGiftEffect:giftInfo.vggUrl];
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -1,29 +0,0 @@
|
||||
//
|
||||
// XPRoomGiftBroadcastView.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2021/11/18.
|
||||
// 广播横幅
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
@class XPRoomGiftBroadCastModel, XPRoomGiftBroadcastView;
|
||||
|
||||
@protocol XPRoomGiftBroadcastViewDelegate <NSObject>
|
||||
/// 点击了关闭
|
||||
- (void)xPRoomGiftBroadcastView:(XPRoomGiftBroadcastView *)view didClickClose:(XPRoomGiftBroadCastModel *)broadcastModel;
|
||||
///点击了进入房间
|
||||
- (void)xPRoomGiftBroadcastView:(XPRoomGiftBroadcastView *)view enterRoom:(NSString *)roomUid;
|
||||
|
||||
@end
|
||||
|
||||
@interface XPRoomGiftBroadcastView : UIView
|
||||
///
|
||||
@property (nonatomic,strong) XPRoomGiftBroadCastModel *broadcastModel;
|
||||
|
||||
///代理
|
||||
@property (nonatomic,weak) id<XPRoomGiftBroadcastViewDelegate> delegate;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -1,418 +0,0 @@
|
||||
//
|
||||
// XPRoomGiftBroadcastView.m
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2021/11/18.
|
||||
//
|
||||
|
||||
#import "XPRoomGiftBroadcastView.h"
|
||||
///Third
|
||||
#import <Masonry/Masonry.h>
|
||||
///Tool
|
||||
#import "ThemeColor+Room.h"
|
||||
#import "XPMacro.h"
|
||||
///Model
|
||||
#import "XPRoomGiftBroadCastModel.h"
|
||||
///View
|
||||
#import "NetImageView.h"
|
||||
#import "XPRoomYearActivityView.h"
|
||||
|
||||
#define kScreenScale (CGFloat)KScreenWidth / (CGFloat)375
|
||||
|
||||
@interface XPRoomGiftUserView : UIView
|
||||
|
||||
///
|
||||
@property (nonatomic,strong) NetImageView *avatarImageView;
|
||||
///
|
||||
@property (nonatomic,strong) UIImageView *boraderImageView;
|
||||
///
|
||||
@property (nonatomic,strong) UIButton *nickButton;
|
||||
|
||||
@end
|
||||
|
||||
@implementation XPRoomGiftUserView
|
||||
|
||||
- (instancetype)initWithFrame:(CGRect)frame {
|
||||
if (self = [super initWithFrame:frame]) {
|
||||
[self initSubViews];
|
||||
[self initSubViewConstraints];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
#pragma mark - Private Method
|
||||
- (void)initSubViews {
|
||||
[self addSubview:self.avatarImageView];
|
||||
[self addSubview:self.boraderImageView];
|
||||
[self addSubview:self.nickButton];
|
||||
}
|
||||
|
||||
- (void)initSubViewConstraints {
|
||||
[self mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.bottom.mas_equalTo(self.nickButton.mas_bottom);
|
||||
}];
|
||||
|
||||
|
||||
[self.avatarImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.centerX.top.mas_equalTo(self);
|
||||
make.height.width.mas_equalTo(44 * kScreenScale);
|
||||
}];
|
||||
|
||||
[self.boraderImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.size.mas_equalTo(CGSizeMake(51 * kScreenScale, 51 * kScreenScale));
|
||||
make.center.mas_equalTo(self.avatarImageView);
|
||||
}];
|
||||
|
||||
[self.nickButton mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.centerX.mas_equalTo(self);
|
||||
make.top.mas_equalTo(self.avatarImageView.mas_bottom).offset(-8 * kScreenScale);
|
||||
make.size.mas_equalTo(CGSizeMake(66 * kScreenScale, 16 * kScreenScale));
|
||||
}];
|
||||
}
|
||||
|
||||
#pragma mark - Getters And Setters
|
||||
- (NetImageView *)avatarImageView {
|
||||
if (!_avatarImageView) {
|
||||
NetImageConfig * config = [[NetImageConfig alloc]init];
|
||||
config.imageType = ImageTypeUserIcon;
|
||||
_avatarImageView = [[NetImageView alloc] initWithConfig:config];
|
||||
_avatarImageView.userInteractionEnabled = YES;
|
||||
_avatarImageView.layer.masksToBounds = YES;
|
||||
_avatarImageView.layer.cornerRadius = 44 * kScreenScale/2;
|
||||
}
|
||||
return _avatarImageView;
|
||||
}
|
||||
|
||||
- (UIImageView *)boraderImageView {
|
||||
if (!_boraderImageView) {
|
||||
_boraderImageView = [[UIImageView alloc] init];
|
||||
_boraderImageView.userInteractionEnabled = YES;
|
||||
}
|
||||
return _boraderImageView;
|
||||
}
|
||||
|
||||
- (UIButton *)nickButton {
|
||||
if (!_nickButton) {
|
||||
_nickButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||
[_nickButton setTitleColor:[ThemeColor giftBroadcastNickColor] forState:UIControlStateNormal];
|
||||
_nickButton.titleLabel.font = [UIFont systemFontOfSize:10];
|
||||
[_nickButton setBackgroundImage:[UIImage imageNamed:@"room_gift_broadcast_avatar_board"] forState:UIControlStateNormal];
|
||||
}
|
||||
return _nickButton;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
|
||||
@interface XPRoomGiftBroadcastView ()<XPRoomYearActivityViewDelegate>
|
||||
///背景
|
||||
@property (nonatomic,strong) UIImageView *backImageView;
|
||||
///赠送者
|
||||
@property (nonatomic,strong) XPRoomGiftUserView *sendView;
|
||||
///赠送
|
||||
@property (nonatomic,strong) UIImageView *sendImageView;
|
||||
///接收者
|
||||
@property (nonatomic,strong) XPRoomGiftUserView *receiveView;
|
||||
///礼物
|
||||
@property (nonatomic,strong) NetImageView *giftImageView;
|
||||
///数量
|
||||
@property (nonatomic,strong) UILabel *countLabel;
|
||||
///关闭
|
||||
@property (nonatomic,strong) UIButton *closeButton;
|
||||
///房间iD
|
||||
@property (nonatomic,strong) UILabel *roomIdLabel;
|
||||
///庆典
|
||||
@property (nonatomic, strong) XPRoomYearActivityView *ceremonyView;
|
||||
@end
|
||||
|
||||
@implementation XPRoomGiftBroadcastView
|
||||
|
||||
- (instancetype)initWithFrame:(CGRect)frame
|
||||
{
|
||||
self = [super initWithFrame:frame];
|
||||
if (self) {
|
||||
[self initSubViews];
|
||||
[self initSubViewConstraints];
|
||||
[self initEvents];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
#pragma mark - Response
|
||||
- (void)closeButtonAction:(UIButton *)sender {
|
||||
if (self.delegate && [self.delegate respondsToSelector:@selector(xPRoomGiftBroadcastView:didClickClose:)]) {
|
||||
[self.delegate xPRoomGiftBroadcastView:self didClickClose:self.broadcastModel];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)didClickEnterRoom {
|
||||
if (self.delegate && [self.delegate respondsToSelector:@selector(xPRoomGiftBroadcastView:enterRoom:)]) {
|
||||
[self.delegate xPRoomGiftBroadcastView:self enterRoom:[NSString stringWithFormat:@"%ld", self.broadcastModel.roomUid]];
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - Private Method
|
||||
- (void)initSubViews {
|
||||
[self addSubview:self.backImageView];
|
||||
|
||||
[self.backImageView addSubview:self.closeButton];
|
||||
[self.backImageView addSubview:self.sendView];
|
||||
[self.backImageView addSubview:self.sendImageView];
|
||||
[self.backImageView addSubview:self.receiveView];
|
||||
[self.backImageView addSubview:self.giftImageView];
|
||||
[self.backImageView addSubview:self.countLabel];
|
||||
[self.backImageView addSubview:self.roomIdLabel];
|
||||
}
|
||||
|
||||
- (void)initSubViewConstraints {
|
||||
CGFloat kscale = (CGFloat)125/ (CGFloat)345;
|
||||
CGFloat width = KScreenWidth - 30;
|
||||
|
||||
[self.backImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.right.mas_equalTo(self).inset(15);
|
||||
make.top.mas_equalTo(self);
|
||||
make.height.mas_equalTo(width * kscale);
|
||||
}];
|
||||
|
||||
[self.sendView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.mas_equalTo(self.backImageView).offset(41 * kScreenScale);
|
||||
make.width.mas_equalTo(66 * kScreenScale);
|
||||
make.left.mas_equalTo(self.backImageView).offset(13 * kScreenScale);
|
||||
}];
|
||||
|
||||
[self.sendImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.size.mas_equalTo(CGSizeMake(30 * kScreenScale, 15 * kScreenScale));
|
||||
make.centerY.mas_equalTo(self.sendView);
|
||||
make.left.mas_equalTo(self.sendView.mas_right).offset(13 * kScreenScale);
|
||||
}];
|
||||
|
||||
[self.receiveView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.centerY.width.mas_equalTo(self.sendView);
|
||||
make.left.mas_equalTo(self.sendImageView.mas_right).offset(13 * kScreenScale);
|
||||
}];
|
||||
|
||||
[self.giftImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.size.mas_equalTo(CGSizeMake(60 * kScreenScale, 60 * kScreenScale));
|
||||
make.centerY.mas_equalTo(self.sendView);
|
||||
make.left.mas_equalTo(self.receiveView.mas_right).offset(13 * kScreenScale);
|
||||
}];
|
||||
|
||||
[self.countLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.mas_equalTo(self.giftImageView.mas_right).offset(13 * kScreenScale);
|
||||
make.centerY.mas_equalTo(self.sendView);
|
||||
}];
|
||||
|
||||
[self.closeButton mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.right.mas_equalTo(self.backImageView).offset(-3);
|
||||
make.top.mas_equalTo(13);
|
||||
make.size.mas_equalTo(CGSizeMake(28, 22));
|
||||
}];
|
||||
|
||||
[self.roomIdLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.centerX.mas_equalTo(self.backImageView);
|
||||
make.top.mas_equalTo(self.backImageView).offset(10);
|
||||
}];
|
||||
}
|
||||
|
||||
- (void)initEvents {
|
||||
UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(didClickEnterRoom)];
|
||||
[self.backImageView addGestureRecognizer:tap];
|
||||
}
|
||||
|
||||
- (void)updateSubviews:(BroadCastLevel)level {
|
||||
NSString * nickBackImageName;
|
||||
UIColor * nickColor;
|
||||
NSString * bgImageName;
|
||||
switch (level) {
|
||||
case BroadCastLevel_Normal:
|
||||
{
|
||||
CGFloat kscale = (CGFloat)124/ (CGFloat)345;
|
||||
CGFloat width = KScreenWidth - 30;
|
||||
[self.backImageView mas_updateConstraints:^(MASConstraintMaker *make) {
|
||||
make.height.mas_equalTo(width * kscale);
|
||||
}];
|
||||
|
||||
[self.closeButton mas_updateConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.mas_equalTo(14 * kScreenScale);
|
||||
}];
|
||||
nickBackImageName = @"room_gift_broadcast_normal_nick_bg";
|
||||
nickColor = [ThemeColor mainTextColor];
|
||||
bgImageName = @"room_gift_broadcast_low_bg";
|
||||
self.roomIdLabel.hidden = YES;
|
||||
}
|
||||
break;
|
||||
case BroadCastLevel_Middle:
|
||||
{
|
||||
CGFloat kscale = (CGFloat)120/ (CGFloat)345;
|
||||
CGFloat width = KScreenWidth - 30;
|
||||
[self.backImageView mas_updateConstraints:^(MASConstraintMaker *make) {
|
||||
make.height.mas_equalTo(width * kscale);
|
||||
}];;
|
||||
|
||||
[self.closeButton mas_updateConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.mas_equalTo(11 * kScreenScale);
|
||||
}];
|
||||
|
||||
nickBackImageName = @"room_gift_broadcast_higher_nick_bg";
|
||||
nickColor = [ThemeColor giftBroadcastNickColor];
|
||||
bgImageName = @"room_gift_broadcast_middle_bg";
|
||||
self.roomIdLabel.hidden = YES;
|
||||
}
|
||||
break;
|
||||
case BroadCastLevel_High:
|
||||
{
|
||||
CGFloat kscale = (CGFloat)143/ (CGFloat)345;
|
||||
CGFloat width = KScreenWidth - 30;
|
||||
[self.backImageView mas_updateConstraints:^(MASConstraintMaker *make) {
|
||||
make.height.mas_equalTo(width * kscale);
|
||||
}];
|
||||
|
||||
[self.closeButton mas_updateConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.mas_equalTo(33 * kScreenScale);
|
||||
}];
|
||||
|
||||
nickBackImageName = @"room_gift_broadcast_higher_nick_bg";
|
||||
nickColor = [ThemeColor giftBroadcastNickColor];
|
||||
bgImageName = @"room_gift_broadcast_high_bg";
|
||||
self.roomIdLabel.hidden = NO;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (nickBackImageName.length > 0) {
|
||||
[self.sendView.nickButton setBackgroundImage:[UIImage imageNamed:nickBackImageName] forState:UIControlStateNormal];
|
||||
[self.receiveView.nickButton setBackgroundImage:[UIImage imageNamed:nickBackImageName] forState:UIControlStateNormal];
|
||||
}
|
||||
|
||||
if (nickColor) {
|
||||
[self.sendView.nickButton setTitleColor:nickColor forState:UIControlStateNormal];
|
||||
[self.receiveView.nickButton setTitleColor:nickColor forState:UIControlStateNormal];
|
||||
}
|
||||
|
||||
self.backImageView.image = [UIImage imageNamed:bgImageName];
|
||||
}
|
||||
|
||||
#pragma mark - XPRoomYearActivityViewDelegate
|
||||
///点击了进入房间
|
||||
- (void)xPRoomYearActivityViewEnterRoom:(NSString *)roomUid {
|
||||
if (self.delegate && [self.delegate respondsToSelector:@selector(xPRoomGiftBroadcastView:enterRoom:)]) {
|
||||
[self.delegate xPRoomGiftBroadcastView:self enterRoom:roomUid];
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - Getters And Setters
|
||||
- (void)setBroadcastModel:(XPRoomGiftBroadCastModel *)broadcastModel {
|
||||
_broadcastModel = broadcastModel;
|
||||
if (_broadcastModel) {
|
||||
if (broadcastModel.sendUserNick.length > 6) {
|
||||
broadcastModel.sendUserNick = [broadcastModel.sendUserNick substringToIndex:6];
|
||||
}
|
||||
if(broadcastModel.ceremonyGift) {
|
||||
for (UIView *subView in self.subviews) {
|
||||
[subView removeFromSuperview];
|
||||
}
|
||||
[self addSubview:self.ceremonyView];
|
||||
CGFloat kscale = (CGFloat)90/ (CGFloat)375;
|
||||
CGFloat width = KScreenWidth;
|
||||
[self.ceremonyView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.top.right.mas_equalTo(self);
|
||||
make.height.mas_equalTo(width * kscale);
|
||||
}];
|
||||
self.ceremonyView.model = broadcastModel;
|
||||
return;
|
||||
}
|
||||
self.sendView.avatarImageView.imageUrl = broadcastModel.sendUserAvatar;
|
||||
[self.sendView.nickButton setTitle:broadcastModel.sendUserNick forState:UIControlStateNormal];
|
||||
|
||||
if (broadcastModel.recvUserNick.length > 6) {
|
||||
broadcastModel.recvUserNick = [broadcastModel.recvUserNick substringToIndex:6];
|
||||
}
|
||||
self.receiveView.avatarImageView.imageUrl = broadcastModel.recvUserAvatar;
|
||||
[self.receiveView.nickButton setTitle:broadcastModel.recvUserNick forState:UIControlStateNormal];
|
||||
|
||||
self.giftImageView.imageUrl = broadcastModel.giftUrl;
|
||||
self.countLabel.text = [NSString stringWithFormat:@"x%ld", broadcastModel.giftNum];
|
||||
self.roomIdLabel.text = [NSString stringWithFormat:@"ID:%@", broadcastModel.roomErbanNo];
|
||||
[self updateSubviews:broadcastModel.levelNum];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
- (UIImageView *)backImageView {
|
||||
if (!_backImageView) {
|
||||
_backImageView = [[UIImageView alloc] init];
|
||||
_backImageView.userInteractionEnabled = YES;
|
||||
}
|
||||
return _backImageView;
|
||||
}
|
||||
|
||||
- (XPRoomGiftUserView *)sendView {
|
||||
if (!_sendView) {
|
||||
_sendView = [[XPRoomGiftUserView alloc] init];
|
||||
}
|
||||
return _sendView;
|
||||
}
|
||||
|
||||
- (UIImageView *)sendImageView {
|
||||
if (!_sendImageView) {
|
||||
_sendImageView = [[UIImageView alloc] init];
|
||||
_sendImageView.userInteractionEnabled = YES;
|
||||
_sendImageView.image = [UIImage imageNamed:@"room_gift_broadcast_send"];
|
||||
}
|
||||
return _sendImageView;
|
||||
}
|
||||
|
||||
- (XPRoomGiftUserView *)receiveView {
|
||||
if (!_receiveView) {
|
||||
_receiveView = [[XPRoomGiftUserView alloc] init];
|
||||
}
|
||||
return _receiveView;
|
||||
}
|
||||
- (NetImageView *)giftImageView {
|
||||
if (!_giftImageView) {
|
||||
NetImageConfig * config = [[NetImageConfig alloc]init];
|
||||
config.imageType = ImageTypeUserIcon;
|
||||
_giftImageView = [[NetImageView alloc] initWithConfig:config];
|
||||
}
|
||||
return _giftImageView;
|
||||
}
|
||||
|
||||
- (UILabel *)countLabel {
|
||||
if (!_countLabel) {
|
||||
_countLabel = [[UILabel alloc] init];
|
||||
_countLabel.font = [UIFont fontWithName:@"PingFang-SC-Heavy" size:20];
|
||||
_countLabel.textColor = [ThemeColor giftBroadcastNumberColor];
|
||||
}
|
||||
return _countLabel;
|
||||
}
|
||||
|
||||
- (UIButton *)closeButton {
|
||||
if (!_closeButton) {
|
||||
_closeButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||
[_closeButton setImage:[UIImage imageNamed:@"room_gift_broadcast_close"] forState:UIControlStateNormal];
|
||||
[_closeButton setImage:[UIImage imageNamed:@"room_gift_broadcast_close"] forState:UIControlStateSelected];
|
||||
[_closeButton addTarget:self action:@selector(closeButtonAction:) forControlEvents:UIControlEventTouchUpInside];
|
||||
}
|
||||
return _closeButton;
|
||||
}
|
||||
|
||||
|
||||
- (UILabel *)roomIdLabel {
|
||||
if (!_roomIdLabel) {
|
||||
_roomIdLabel = [[UILabel alloc] init];
|
||||
_roomIdLabel.font = [UIFont systemFontOfSize:12];
|
||||
_roomIdLabel.textColor = [ThemeColor giftBroadcastNickColor];
|
||||
}
|
||||
return _roomIdLabel;
|
||||
}
|
||||
|
||||
- (XPRoomYearActivityView *)ceremonyView {
|
||||
if(!_ceremonyView) {
|
||||
_ceremonyView = [[XPRoomYearActivityView alloc] init];
|
||||
_ceremonyView.delegate = self;
|
||||
}
|
||||
return _ceremonyView;
|
||||
}
|
||||
|
||||
@end
|
@@ -78,6 +78,7 @@
|
||||
make.right.mas_equalTo(0);
|
||||
make.height.mas_equalTo(12);
|
||||
}];
|
||||
|
||||
}
|
||||
#pragma mark - Getters And Setters
|
||||
- (void)setModel:(XPRoomRecommendModel *)model {
|
||||
|
@@ -255,7 +255,7 @@
|
||||
owner.uid = roomInfo.uid;
|
||||
owner.gender = roomInfo.gender;
|
||||
UIView<MicroViewProtocol> *ownerView = [self findMicroViewByIndex:0];
|
||||
[ownerView configUser:owner];
|
||||
[ownerView configUser:owner ];
|
||||
}
|
||||
|
||||
if (self.isMiniEnter || !isHandleRTC) {
|
||||
|