From 7d6fb8e2cea301eb0aee6a9433e959bf37efa22e Mon Sep 17 00:00:00 2001 From: liyuhua <15626451870@163.com> Date: Fri, 20 Oct 2023 19:30:20 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BA=A2=E5=8C=85UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- YuMi.xcodeproj/project.pbxproj | 6 ++ .../Contents.json | 22 ++++ .../pi_red_packet_enter_bg@2x.png | Bin 0 -> 4051 bytes .../pi_red_packet_enter_bg@3x.png | Bin 0 -> 6931 bytes .../Contents.json | 22 ++++ .../pi_red_packet_enter_rob_icon@2x.png | Bin 0 -> 515 bytes .../pi_red_packet_enter_rob_icon@3x.png | Bin 0 -> 1110 bytes .../XPRoomActivityContainerView.m | 52 ++++------ .../SendRedPacket/PIRoomEnterRedPacketView.h | 16 +++ .../SendRedPacket/PIRoomEnterRedPacketView.m | 96 ++++++++++++++++++ .../YMRoom/View/XPRoomViewController.m | 8 +- YuMi/zh-Hans.lproj/Localizable.strings | 2 + YuMi/zh-Hant.lproj/Localizable.strings | 3 + 13 files changed, 194 insertions(+), 33 deletions(-) create mode 100644 YuMi/Assets.xcassets/yna/RedPacket/pi_red_packet_enter_bg.imageset/Contents.json create mode 100644 YuMi/Assets.xcassets/yna/RedPacket/pi_red_packet_enter_bg.imageset/pi_red_packet_enter_bg@2x.png create mode 100644 YuMi/Assets.xcassets/yna/RedPacket/pi_red_packet_enter_bg.imageset/pi_red_packet_enter_bg@3x.png create mode 100644 YuMi/Assets.xcassets/yna/RedPacket/pi_red_packet_enter_rob_icon.imageset/Contents.json create mode 100644 YuMi/Assets.xcassets/yna/RedPacket/pi_red_packet_enter_rob_icon.imageset/pi_red_packet_enter_rob_icon@2x.png create mode 100644 YuMi/Assets.xcassets/yna/RedPacket/pi_red_packet_enter_rob_icon.imageset/pi_red_packet_enter_rob_icon@3x.png create mode 100644 YuMi/Modules/YMRoom/View/SendRedPacket/PIRoomEnterRedPacketView.h create mode 100644 YuMi/Modules/YMRoom/View/SendRedPacket/PIRoomEnterRedPacketView.m diff --git a/YuMi.xcodeproj/project.pbxproj b/YuMi.xcodeproj/project.pbxproj index 356ead90..c6fa1493 100644 --- a/YuMi.xcodeproj/project.pbxproj +++ b/YuMi.xcodeproj/project.pbxproj @@ -290,6 +290,7 @@ 238B37DC2AC55A2C00BFC9D5 /* XPTreasureFairyBallView.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B37942AC55A2C00BFC9D5 /* XPTreasureFairyBallView.m */; }; 238B37DD2AC55A2C00BFC9D5 /* XPTreasureFairyStoreView.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B379A2AC55A2C00BFC9D5 /* XPTreasureFairyStoreView.m */; }; 238B37DE2AC55A2C00BFC9D5 /* Api+TreasureFairy.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B37A12AC55A2C00BFC9D5 /* Api+TreasureFairy.m */; }; + 238ED83A2AE2891D0014EF9D /* PIRoomEnterRedPacketView.m in Sources */ = {isa = PBXBuildFile; fileRef = 238ED8392AE2891D0014EF9D /* PIRoomEnterRedPacketView.m */; }; 239141C62AE129F700322CA9 /* PIInputScrollingView.m in Sources */ = {isa = PBXBuildFile; fileRef = 239141C52AE129F700322CA9 /* PIInputScrollingView.m */; }; 239141C92AE1358F00322CA9 /* PIInputEntireServerScrollingView.m in Sources */ = {isa = PBXBuildFile; fileRef = 239141C82AE1358F00322CA9 /* PIInputEntireServerScrollingView.m */; }; 239141CC2AE267EF00322CA9 /* PIReceiveRedPacketSuccessView.m in Sources */ = {isa = PBXBuildFile; fileRef = 239141CB2AE267EF00322CA9 /* PIReceiveRedPacketSuccessView.m */; }; @@ -2006,6 +2007,8 @@ 238B379F2AC55A2C00BFC9D5 /* XPTreasureFairyViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairyViewController.h; sourceTree = ""; }; 238B37A12AC55A2C00BFC9D5 /* Api+TreasureFairy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "Api+TreasureFairy.m"; sourceTree = ""; }; 238B37A22AC55A2C00BFC9D5 /* Api+TreasureFairy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Api+TreasureFairy.h"; sourceTree = ""; }; + 238ED8382AE2891D0014EF9D /* PIRoomEnterRedPacketView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PIRoomEnterRedPacketView.h; sourceTree = ""; }; + 238ED8392AE2891D0014EF9D /* PIRoomEnterRedPacketView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PIRoomEnterRedPacketView.m; sourceTree = ""; }; 239141C42AE129F700322CA9 /* PIInputScrollingView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PIInputScrollingView.h; sourceTree = ""; }; 239141C52AE129F700322CA9 /* PIInputScrollingView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PIInputScrollingView.m; sourceTree = ""; }; 239141C72AE1358F00322CA9 /* PIInputEntireServerScrollingView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PIInputEntireServerScrollingView.h; sourceTree = ""; }; @@ -5989,6 +5992,8 @@ 9BA812D528BF52E100783EA7 /* XPRoomSendRedPacketViewController.m */, 23D321E32ADFE900006B259C /* PIRoomSendRedPacketVC.h */, 23D321E42ADFE900006B259C /* PIRoomSendRedPacketVC.m */, + 238ED8382AE2891D0014EF9D /* PIRoomEnterRedPacketView.h */, + 238ED8392AE2891D0014EF9D /* PIRoomEnterRedPacketView.m */, 23D321E62ADFED0F006B259C /* PIRoomSendRedPacketItemVC.h */, 23D321E72ADFED0F006B259C /* PIRoomSendRedPacketItemVC.m */, 9BA812E228BF70A600783EA7 /* XPRoomRedPacketPwdView.h */, @@ -10767,6 +10772,7 @@ 238B37C72AC55A2C00BFC9D5 /* XPTreasureFairyPrizeRecordView.m in Sources */, E8B9843628ABA8B40022D026 /* XPMonentPublishSuccessView.m in Sources */, E87DF4E02A42CA92009C1185 /* XPHomeSloganViewController.m in Sources */, + 238ED83A2AE2891D0014EF9D /* PIRoomEnterRedPacketView.m in Sources */, 23E9E9972A80C3A100B792F2 /* XPMineGuildPersonalBillRecordVC.m in Sources */, E81C279626EB39CC0031E639 /* LoginForgetPasswordPresent.m in Sources */, 18EE3FF42750FA3700A452BF /* UIView+NIM.m in Sources */, diff --git a/YuMi/Assets.xcassets/yna/RedPacket/pi_red_packet_enter_bg.imageset/Contents.json b/YuMi/Assets.xcassets/yna/RedPacket/pi_red_packet_enter_bg.imageset/Contents.json new file mode 100644 index 00000000..6a72f5e4 --- /dev/null +++ b/YuMi/Assets.xcassets/yna/RedPacket/pi_red_packet_enter_bg.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "pi_red_packet_enter_bg@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "pi_red_packet_enter_bg@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/YuMi/Assets.xcassets/yna/RedPacket/pi_red_packet_enter_bg.imageset/pi_red_packet_enter_bg@2x.png b/YuMi/Assets.xcassets/yna/RedPacket/pi_red_packet_enter_bg.imageset/pi_red_packet_enter_bg@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..688f62924eead00390ed86cd2b3c2818368b80bf GIT binary patch literal 4051 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 DQOz~` literal 0 HcmV?d00001 diff --git a/YuMi/Assets.xcassets/yna/RedPacket/pi_red_packet_enter_bg.imageset/pi_red_packet_enter_bg@3x.png b/YuMi/Assets.xcassets/yna/RedPacket/pi_red_packet_enter_bg.imageset/pi_red_packet_enter_bg@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..916c7f697495fd57f38ee97d33f7228fcf606821 GIT binary patch literal 6931 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 S`R~7fK~LNGK3dcM+5Z3^oK!>r literal 0 HcmV?d00001 diff --git a/YuMi/Assets.xcassets/yna/RedPacket/pi_red_packet_enter_rob_icon.imageset/Contents.json b/YuMi/Assets.xcassets/yna/RedPacket/pi_red_packet_enter_rob_icon.imageset/Contents.json new file mode 100644 index 00000000..dd811efc --- /dev/null +++ b/YuMi/Assets.xcassets/yna/RedPacket/pi_red_packet_enter_rob_icon.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "pi_red_packet_enter_rob_icon@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "pi_red_packet_enter_rob_icon@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/YuMi/Assets.xcassets/yna/RedPacket/pi_red_packet_enter_rob_icon.imageset/pi_red_packet_enter_rob_icon@2x.png b/YuMi/Assets.xcassets/yna/RedPacket/pi_red_packet_enter_rob_icon.imageset/pi_red_packet_enter_rob_icon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..77d21e7cef11b224723267a6cb498e03b3a8bfc7 GIT binary patch literal 515 zcmeAS@N?(olHy`uVBq!ia0vp^9zZO|!3-pKJXtXxNNo)832_C||Fcs5`}+R((E0Ce z^gqu3e{s?OV7vdZ{{LhA{^w=>&&~MnV+s=YF!*0m^50GCe_HJS!u^ zKePWSQ6LlIga5|`fUFB~1X-Px{6Em-RR=xF7V zAirRSf2^;Xf4qA2a#Bl3h>yUJAFp4$I0^(SR!o}I(9q!HBOstIopBMU{GO+aV~EG` zwdbzq9dZz9d1$};bsP8I@<|MS`b$3kG z#XA?}Sbp3t`eU-H`=e{y7KNQ@yw%<;)q3#O$pt?)m!;Sr4L_IE5c>OSWHqZ#KC6$T zscPG-t}lKrUR!=|zW?6O>b`r)d)E?9d6$-oekGed>Vk3)w{}dJcP60!g`10umhqHD zP3eq{O*gw6Bqy-upKIb#s4SoM;rx?6o@)ikPj~Vzt=T0XWFXDn#@zXDjfc9-$)10! r9A@_zZI$?5`uKSg?_GI)k%;{Vm>dm+r7}MQeahhJ>gTe~DWM4fGUE2o literal 0 HcmV?d00001 diff --git a/YuMi/Assets.xcassets/yna/RedPacket/pi_red_packet_enter_rob_icon.imageset/pi_red_packet_enter_rob_icon@3x.png b/YuMi/Assets.xcassets/yna/RedPacket/pi_red_packet_enter_rob_icon.imageset/pi_red_packet_enter_rob_icon@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..1f0c7d5d6fc83013dd8f0d3f154f8275cf79b1d6 GIT binary patch literal 1110 zcmWlXc`%%37{EVq#E@NglOb^>RGo2@?Uum?yPI8W?K&3AuAA&S))DF~O-M)v$#f!^ zWQu4VWh#x0`v~1cwS*)k8aE>{jv!VAPrvV(d7tNf|9GC??|tXJ$z+gmO4>>Yg5anW zHx^oj=(13hMRQhHjy;0N=rid)?&uLhm=G_7AO`U1kdz3XHbA!pvN^=Xf`=IddjZoC zs8-k}E(ScmhF~Tn3Lrif63`q2411v4L6QifLcqrbQd5EF4O~xPH~`HCQc{4=h9DYv zm_lR__+0`)1jO>->Q!vG?&o{P!xe)0afyKg}}=Y#RV=M65}Bv5TZlC-yMWem;kCovxZP# zY`!oWLthEU=pJ7|N;1UofMNlGR7g*&b)*HNZ)BgsVz80(=kUrM4!YY*1KsWIC3&fA zqRoG3?C$PvZEYYzAW=U%JR&Vg^yww&;4__B0b7O&D;eDn-{`O8 zm&>{;>t;7OpH`i>-BvTr{LWaU5;7^+q$r#=7|Ycy&T&Bs>nX9^2j|)Rn`i zH(L?UPL=g1a(zQYCS7NqkAyWJe|{9M@3#DekW-{M8870S;EM`mihp~{Yd;tYc4^(Q zu#(kG=IGlic({gNMQ> zvgX@`H7hQnZgsE4!eHb+?i9}%&-o?GNoHA9_5HR}a-4Gen3>uB=Di7i>7rDsB~T?2 zOA3lMbGQX61DCsPNarLy2kR}0e5JpA))wtFpP1G#A7Nu!trG0*j`G<{qjB9d)5Otg6eo9LwriD8W0jF^+mWk%r*Fe5VD0Bo TLrYvK`uP#6JHxG+#Lxd9)}JfQ literal 0 HcmV?d00001 diff --git a/YuMi/Modules/YMRoom/View/ActivityContainerView/XPRoomActivityContainerView.m b/YuMi/Modules/YMRoom/View/ActivityContainerView/XPRoomActivityContainerView.m index 5f5a6c32..6f5c1105 100644 --- a/YuMi/Modules/YMRoom/View/ActivityContainerView/XPRoomActivityContainerView.m +++ b/YuMi/Modules/YMRoom/View/ActivityContainerView/XPRoomActivityContainerView.m @@ -34,22 +34,21 @@ #import "XPSailingViewController.h" #import "XCCurrentVCStackManager.h" #import "XPTreasureFairyViewController.h" +#import "PIRoomEnterRedPacketView.h" UIKIT_EXTERN NSString *kShowFirstRechargeView; @interface XPRoomActivityContainerView () ///容器 @property (nonatomic,strong) UIStackView *stackView; ///轮播图 @property (nonatomic,strong) SDCycleScrollView *pi_cycleScrollView; -/// -@property (nonatomic,strong) UIView * placeHolderView; + ///糖果树 @property (nonatomic,strong) NetImageView *lookLoveImageView; - +///红包 +@property(nonatomic,strong) PIRoomEnterRedPacketView *redPacketView; ///夺宝精灵 @property (nonatomic,strong) TreasureFairyLimitModel *fairyModel; -///首充的 -@property (nonatomic,strong) UIImageView *firstRechargeImageView; ///参加相亲 @property (nonatomic,strong) UIImageView *joinDatingView; ///host 代理 @@ -86,9 +85,10 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView; #pragma mark - Private Method - (void)initSubViews { [self addSubview:self.stackView]; + UIView *emptyView = [UIView new]; [self.stackView addArrangedSubview:self.pi_cycleScrollView]; - [self.stackView addArrangedSubview:self.placeHolderView]; - [self.stackView addArrangedSubview:self.firstRechargeImageView]; + [self.stackView addArrangedSubview:emptyView]; + [self.stackView addArrangedSubview:self.redPacketView]; [self.stackView addArrangedSubview:self.lookLoveImageView]; [self.stackView addArrangedSubview:self.joinDatingView]; } @@ -102,10 +102,10 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView; [self.pi_cycleScrollView mas_makeConstraints:^(MASConstraintMaker *make) { make.size.mas_equalTo(CGSizeMake(itemWidth , itemWidth)); }]; - - [self.firstRechargeImageView mas_makeConstraints:^(MASConstraintMaker *make) { - make.size.mas_equalTo(CGSizeMake(itemWidth, itemWidth)); + [self.redPacketView mas_makeConstraints:^(MASConstraintMaker *make) { + make.width.height.mas_equalTo(kGetScaleWidth(58)); }]; + [self.lookLoveImageView mas_makeConstraints:^(MASConstraintMaker *make) { make.size.mas_equalTo(CGSizeMake(itemWidth, itemWidth)); @@ -243,7 +243,7 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView; - (void)onRoomUpdate { RoomInfoModel * roomInfo = self.hostDelegate.getRoomInfo; if (roomInfo.type == RoomType_MiniGame) { - self.firstRechargeImageView.hidden = YES; + self.lookLoveImageView.hidden = YES; self.sailingImageView.hidden = YES; if (self.isLoadActivity) { @@ -256,7 +256,7 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView; [self.activityList removeObject:self.lookLoveModel]; } [self configLookLove]; - self.firstRechargeImageView.hidden = YES; + [self configFairy]; [self configfirstRecharge]; NSMutableArray *picArray = [NSMutableArray array]; @@ -464,15 +464,7 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView; return _pi_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 { @@ -501,16 +493,7 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView; return _lookLoveImageView; } -- (UIImageView *)firstRechargeImageView { - if (!_firstRechargeImageView) { - _firstRechargeImageView = [[UIImageView alloc] init]; - _firstRechargeImageView.image = [UIImage imageNamed:@"room_first_recharge_enter"]; - _firstRechargeImageView.userInteractionEnabled = YES; - UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(firstRechargeTapRecognizer)]; - [_firstRechargeImageView addGestureRecognizer:tap]; - } - return _firstRechargeImageView; -} + - (UIImageView *)joinDatingView { if (!_joinDatingView) { @@ -572,5 +555,10 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView; } return _lookLoveModel; } - +- (PIRoomEnterRedPacketView *)redPacketView{ + if(!_redPacketView){ + _redPacketView = [[PIRoomEnterRedPacketView alloc]initWithFrame:CGRectZero]; + } + return _redPacketView; +} @end diff --git a/YuMi/Modules/YMRoom/View/SendRedPacket/PIRoomEnterRedPacketView.h b/YuMi/Modules/YMRoom/View/SendRedPacket/PIRoomEnterRedPacketView.h new file mode 100644 index 00000000..9a914f78 --- /dev/null +++ b/YuMi/Modules/YMRoom/View/SendRedPacket/PIRoomEnterRedPacketView.h @@ -0,0 +1,16 @@ +// +// PIRoomEnterRedPacketView.h +// YuMi +// +// Created by duoban on 2023/10/20. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface PIRoomEnterRedPacketView : UIView + +@end + +NS_ASSUME_NONNULL_END diff --git a/YuMi/Modules/YMRoom/View/SendRedPacket/PIRoomEnterRedPacketView.m b/YuMi/Modules/YMRoom/View/SendRedPacket/PIRoomEnterRedPacketView.m new file mode 100644 index 00000000..885ea8a9 --- /dev/null +++ b/YuMi/Modules/YMRoom/View/SendRedPacket/PIRoomEnterRedPacketView.m @@ -0,0 +1,96 @@ +// +// PIRoomEnterRedPacketView.m +// YuMi +// +// Created by duoban on 2023/10/20. +// + +#import "PIRoomEnterRedPacketView.h" +#import "CountDownHelper.h" +@interface PIRoomEnterRedPacketView () +@property(nonatomic,strong) UIImageView *bgImageView; +@property(nonatomic,strong) UIButton *robBtn; +///倒计时 +@property(nonatomic,strong) UILabel *countDownView; +///倒计时 +@property (nonatomic,strong) CountDownHelper *countDownHelper; +@end +@implementation PIRoomEnterRedPacketView + +-(instancetype)initWithFrame:(CGRect)frame{ + self = [super initWithFrame:frame]; + if(self){ + [self installUI]; + [self installConstraints]; + } + return self; +} +-(void)installUI{ + [self addSubview:self.bgImageView]; + [self.bgImageView addSubview:self.robBtn]; + [self.bgImageView addSubview:self.countDownView]; +} +-(void)installConstraints{ + [self.bgImageView mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(self); + }]; + [self.robBtn mas_makeConstraints:^(MASConstraintMaker *make) { + make.width.mas_equalTo(kGetScaleWidth(36)); + make.height.mas_equalTo(kGetScaleWidth(15)); + make.bottom.mas_equalTo(-kGetScaleWidth(10)); + make.centerX.equalTo(self.bgImageView); + }]; + [self.countDownView mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(self.robBtn); + }]; +} +#pragma mark- CountDownHelperDelegate +///倒计时结束 +- (void)onCountdownFinish{ + +} +///倒计时进行 +- (void)onCountdownOpen:(int)time{ + NSInteger seconds = time; + int minutes = (seconds)%3600/60; + int second = (seconds)%60; + self.countDownView.text = [NSString stringWithFormat:@"%02d:%02d",minutes,second]; + +} +#pragma mark - 懒加载 +- (UIImageView *)bgImageView{ + if(!_bgImageView){ + _bgImageView = [UIImageView new]; + _bgImageView.image = kImage(@"pi_red_packet_enter_bg"); + _bgImageView.userInteractionEnabled = YES; + } + return _bgImageView; +} +-(UIButton *)robBtn{ + if(!_robBtn){ + _robBtn = [UIButton new]; + [_robBtn setBackgroundImage:kImage(@"pi_red_packet_enter_rob_icon") forState:UIControlStateNormal]; + [_robBtn setTitle:YMLocalizedString(@"PIRoomEnterRedPacketView0") forState:UIControlStateNormal]; + [_robBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; + _robBtn.titleLabel.font = kFontMedium(9); + } + return _robBtn; +} +- (UILabel *)countDownView{ + if(!_countDownView){ + _countDownView = [UILabel labelInitWithText:@"00:00" font:kFontSemibold(10) textColor:[UIColor whiteColor]]; + _countDownView.textAlignment = NSTextAlignmentCenter; + _countDownView.layer.cornerRadius = kGetScaleWidth(15)/2; + _countDownView.layer.masksToBounds = YES; + _countDownView.backgroundColor = UIColorRGBAlpha(0x292929, 0.6); + } + return _countDownView; +} +- (CountDownHelper *)countDownHelper{ + if (!_countDownHelper){ + _countDownHelper = [[CountDownHelper alloc]init]; + _countDownHelper.delegate = self; + } + return _countDownHelper; +} +@end diff --git a/YuMi/Modules/YMRoom/View/XPRoomViewController.m b/YuMi/Modules/YMRoom/View/XPRoomViewController.m index 45c9f8ad..fb906c6e 100644 --- a/YuMi/Modules/YMRoom/View/XPRoomViewController.m +++ b/YuMi/Modules/YMRoom/View/XPRoomViewController.m @@ -74,6 +74,7 @@ #import "LittleGameScrollStageView.h" #import "XPRoomLittleGameContainerView.h" + UIKIT_EXTERN NSString * const kShieldingNotification; UIKIT_EXTERN NSString * const kRoomGiftEffectUpdateNotificationKey; UIKIT_EXTERN NSString * const kRoomMiniNotificationKey; @@ -107,6 +108,7 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出 @property (nonatomic,strong) XPRoomFunctionContainerView *functionView; ///小游戏的容器 @property (nonatomic,strong) XPRoomLittleGameContainerView *littleGameView; + ///房间的Uid @property (nonatomic,copy) NSString * roomUid; ///小游戏的id @@ -371,7 +373,7 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出 make.bottom.mas_equalTo(self.quickMessageContainerView.mas_top).offset(-5); make.width.mas_equalTo(80); }]; - + [self.animationView mas_makeConstraints:^(MASConstraintMaker *make) { make.edges.mas_equalTo(self.view); }]; @@ -419,6 +421,8 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出 make.bottom.mas_equalTo(self.quickMessageContainerView.mas_top).mas_offset(-5); make.width.mas_equalTo(80); }]; + + [self.functionView mas_makeConstraints:^(MASConstraintMaker *make) { make.edges.mas_equalTo(self.anchorScrollView.middleImageView); }]; @@ -561,6 +565,7 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出 make.bottom.mas_equalTo(self.quickMessageContainerView.mas_top).offset(-5); make.width.mas_equalTo(80); }]; + } } @@ -611,6 +616,7 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出 make.bottom.mas_equalTo(self.quickMessageContainerView.mas_top).mas_offset(-5); make.width.mas_equalTo(80); }]; + } #pragma mark - CountDownHelperDelegate diff --git a/YuMi/zh-Hans.lproj/Localizable.strings b/YuMi/zh-Hans.lproj/Localizable.strings index 2ff3d295..23eb03e0 100644 --- a/YuMi/zh-Hans.lproj/Localizable.strings +++ b/YuMi/zh-Hans.lproj/Localizable.strings @@ -3149,6 +3149,8 @@ "PIInputScrollingView0"="输入指定弹幕内容(最多10个字符)"; ///PIInputEntireServerScrollingView "PIInputEntireServerScrollingView0"="恭喜发财,大吉大利!"; +///PIRoomEnterRedPacketView +"PIRoomEnterRedPacketView0"="抢红包"; ///不能脚本生成的 "App_Common_And" = "和"; "App_Common_Male" = "男"; diff --git a/YuMi/zh-Hant.lproj/Localizable.strings b/YuMi/zh-Hant.lproj/Localizable.strings index dd7316ec..01d21a3a 100644 --- a/YuMi/zh-Hant.lproj/Localizable.strings +++ b/YuMi/zh-Hant.lproj/Localizable.strings @@ -3154,6 +3154,9 @@ "PIInputScrollingView0"="輸入指定彈幕內容(最多10個字符)"; ///PIInputEntireServerScrollingView "PIInputEntireServerScrollingView0"="恭喜發財,大吉大利!"; +///PIRoomEnterRedPacketView +"PIRoomEnterRedPacketView0"="搶紅包"; + ///不能腳本生成的 "App_Common_And" = "和"; "App_Common_Male" = "男";