飘屏UI
This commit is contained in:
@@ -62,7 +62,11 @@
|
||||
#import "PIFullScreenBannerAnimation.h"
|
||||
#import "XPTreasureFairyGiftView.h"
|
||||
#import "XPRoomTarrowBannerView.h"
|
||||
@interface XPRoomAnimationView ()<SVGAPlayerDelegate,NIMBroadcastManagerDelegate, XPRoomGiftBroadcastViewDelegate, HWDMP4PlayDelegate, XPRoomLuckyBigPrizeViewDelegate, XPRoomGraffitiGiftAnimationViewDelegate, XPRoomStarKitchenBannerViewDelegate,PAGViewListener,XPRoomAnchorRankBannerViewDelegate>
|
||||
#import "PIRoomGiftBroadcastWindow.h"
|
||||
|
||||
|
||||
|
||||
@interface XPRoomAnimationView ()<SVGAPlayerDelegate,NIMBroadcastManagerDelegate, XPRoomGiftBroadcastViewDelegate, HWDMP4PlayDelegate, XPRoomLuckyBigPrizeViewDelegate, XPRoomGraffitiGiftAnimationViewDelegate, XPRoomStarKitchenBannerViewDelegate,PAGViewListener,XPRoomAnchorRankBannerViewDelegate,PIRoomGiftBroadcastWindowDelegate>
|
||||
///展示的不同层级
|
||||
///最底层的
|
||||
@property (nonatomic,strong) XPRoomAnimationHitView * lowLevelView;
|
||||
@@ -150,7 +154,7 @@
|
||||
///animationListA播放完后,如果有animationListB,那么要在animationListA的位置上播放animationListB,只播放一次
|
||||
//@property(nonatomic,assign) BOOL isAnimationListAFinish;
|
||||
@property(nonatomic,strong) NSMutableArray *svgaQueue;
|
||||
|
||||
@property(nonatomic,assign) CGFloat broadCastHieght;
|
||||
@end
|
||||
|
||||
@implementation XPRoomAnimationView
|
||||
@@ -404,7 +408,7 @@
|
||||
|
||||
- (void)createStarKitchenBannerAnimation:(PIBaseAnimationViewModel *)attacment{
|
||||
self.isPlayOfB = YES;
|
||||
CGFloat top = self.isPlayOfA == YES ? (190 + statusbarHeight) : (kNavigationHeight + 15);
|
||||
CGFloat top = self.isPlayOfA == YES ? (self.broadCastHieght + statusbarHeight) : (kNavigationHeight + 15);
|
||||
XPRoomStarKitchenBannerView *starKitchenView = [[XPRoomStarKitchenBannerView alloc]initWithFrame:CGRectMake(0, top, KScreenWidth, kGetScaleWidth(60))];
|
||||
starKitchenView.isSvga = attacment.second == Custom_Message_Sub_Star_Kitchen_Server;
|
||||
XPRoomStarKitchenModel *starModel = [XPRoomStarKitchenModel modelWithDictionary:attacment.data];
|
||||
@@ -475,7 +479,7 @@
|
||||
|
||||
CGFloat kscale = (CGFloat)55 / (CGFloat)375;
|
||||
self.isPlayOfB = YES;
|
||||
CGFloat top = self.isPlayOfA == YES ? (190 + statusbarHeight) : (kNavigationHeight + 15);
|
||||
CGFloat top = self.isPlayOfA == YES ? (self.broadCastHieght + statusbarHeight) : (kNavigationHeight + 15);
|
||||
XPRoomTarrowBannerView *tarrowVeiw = [[XPRoomTarrowBannerView alloc]initWithFrame:CGRectMake(KScreenWidth, top, KScreenWidth , KScreenWidth * kscale)isH5:YES];
|
||||
tarrowVeiw.isBig = attatchment.second == Custom_Message_Sub_Common_H5_Advanced;
|
||||
tarrowVeiw.giftH5Info = attatchment;
|
||||
@@ -537,7 +541,7 @@
|
||||
|
||||
CGFloat kscale = (CGFloat)55 / (CGFloat)375;
|
||||
self.isPlayOfB = YES;
|
||||
CGFloat top = self.isPlayOfA == YES ? (190 + statusbarHeight) : (kNavigationHeight + 15);
|
||||
CGFloat top = self.isPlayOfA == YES ? (self.broadCastHieght + statusbarHeight) : (kNavigationHeight + 15);
|
||||
XPRoomTarrowBannerView *tarrowVeiw = [[XPRoomTarrowBannerView alloc]initWithFrame:CGRectMake(KScreenWidth, top, KScreenWidth , KScreenWidth * kscale)isH5:NO];
|
||||
tarrowVeiw.isBig = attatchment.second == Custom_Message_Sub_Tarot_Advanced;
|
||||
tarrowVeiw.giftInfo = attatchment;
|
||||
@@ -599,7 +603,7 @@
|
||||
- (void)createTreasureFairyBannerAnimation:(PIBaseAnimationViewModel *)attatchment {
|
||||
self.isPlayOfB = YES;
|
||||
CGFloat kscale = (CGFloat)60 / (CGFloat)375;
|
||||
CGFloat top = self.isPlayOfA == YES ? (190 + statusbarHeight) : (kNavigationHeight + 15);
|
||||
CGFloat top = self.isPlayOfA == YES ? (self.broadCastHieght + statusbarHeight) : (kNavigationHeight + 15);
|
||||
XPTreasureFairyGiftView *treasureView = [[XPTreasureFairyGiftView alloc] initWithFrame:CGRectMake(KScreenWidth, top, KScreenWidth , KScreenWidth * kscale)];
|
||||
//最大礼物
|
||||
if ((attatchment.second == Custom_Message_Sub_Treasure_Fairy_Draw_Gift_L5) || (attatchment.second == Custom_Message_Sub_Treasure_Fairy_Convert_L3)) {
|
||||
@@ -1017,7 +1021,7 @@
|
||||
- (void)createCandyTreeBannerAnimation:(PIBaseAnimationViewModel *)attatchment {
|
||||
CGFloat kscale = (CGFloat)60 / (CGFloat)375;
|
||||
self.isPlayOfB = YES;
|
||||
CGFloat top = self.isPlayOfA == YES ? (190 + statusbarHeight) : (kNavigationHeight + 15);
|
||||
CGFloat top = self.isPlayOfA == YES ? (self.broadCastHieght + statusbarHeight) : (kNavigationHeight + 15);
|
||||
XPRoomCandyGiftView *candyTreeView = [[XPRoomCandyGiftView alloc] initWithFrame:CGRectMake(KScreenWidth, top, KScreenWidth , KScreenWidth * kscale)];
|
||||
candyTreeView.isMaxLargeGift = attatchment.second == Custom_Message_Sub_Look_Love_InRoom_NeedAllMicSend;
|
||||
candyTreeView.candyInfo = attatchment.data;
|
||||
@@ -1121,7 +1125,7 @@
|
||||
|
||||
- (void)createNobleLevelUpBannerAnimation:(PIBaseAnimationViewModel *)model {
|
||||
self.isPlayOfB = YES;
|
||||
CGFloat top = self.isPlayOfA == YES ? (190 + statusbarHeight) : (kNavigationHeight + 15);
|
||||
CGFloat top = self.isPlayOfA == YES ? (self.broadCastHieght + statusbarHeight) : (kNavigationHeight + 15);
|
||||
|
||||
XPRoomNobleLevelUpView *nobleLevelUpView = [[XPRoomNobleLevelUpView alloc] initWithFrame:CGRectMake(KScreenWidth, top, KScreenWidth, 90)];
|
||||
nobleLevelUpView.nobleInfo = model.data;
|
||||
@@ -1232,7 +1236,7 @@
|
||||
}
|
||||
- (void)createAnchorHourRankAnimation:(PIBaseAnimationViewModel *)attachment {
|
||||
self.isPlayOfB = YES;
|
||||
CGFloat top = self.isPlayOfA == YES ? (190 + statusbarHeight) : (kNavigationHeight + 15);
|
||||
CGFloat top = self.isPlayOfA == YES ? (self.broadCastHieght + statusbarHeight) : (kNavigationHeight + 15);
|
||||
XPRoomAnchorRankBannerView *anchorRankView = [[XPRoomAnchorRankBannerView alloc] initWithFrame:CGRectMake(KScreenWidth,top, KScreenWidth, kGetScaleWidth(55))];
|
||||
anchorRankView.anchorRankInfo = [RoomHalfHourRankModel modelWithDictionary:attachment.data];
|
||||
anchorRankView.delegate = self;
|
||||
@@ -1504,7 +1508,7 @@
|
||||
self.isPlayOfA = YES;
|
||||
XPRoomGiftBroadcastView * view = [[XPRoomGiftBroadcastView alloc] init];
|
||||
view.delegate = self;
|
||||
view.frame = CGRectMake(KScreenWidth, 35 + statusbarHeight, KScreenWidth, 150);
|
||||
view.frame = CGRectMake(KScreenWidth, 35 + statusbarHeight, KScreenWidth, kGetScaleWidth(69));
|
||||
view.broadcastModel = giftModel;
|
||||
[self.highLevleView addSubview:view];
|
||||
[self beginGiftBraodcastViewAnimation:view notifyStaySecond:giftModel.notifyStaySecond];
|
||||
@@ -1552,7 +1556,17 @@
|
||||
}
|
||||
|
||||
#pragma mark - XPRoomGiftBroadcastViewDelegate
|
||||
- (void)xPRoomGiftBroadcastView:(XPRoomGiftBroadcastView *)view enterRoom:(NSString *)roomUid {
|
||||
- (void)xPRoomGiftBroadcastView:(XPRoomGiftBroadcastView *)view enterRoom:(NSString *)roomUid roomName:(NSString *)roomName{
|
||||
id isShowBroadcastView = [[NSUserDefaults standardUserDefaults]valueForKey:@"kSaveBrooadcastSelectState"];
|
||||
if(isShowBroadcastView == nil){
|
||||
PIRoomGiftBroadcastWindow *broadcastView = [[PIRoomGiftBroadcastWindow alloc] initWithFrame:CGRectMake(0, 0, KScreenWidth, KScreenHeight)];
|
||||
broadcastView.roodUid = roomUid;
|
||||
broadcastView.roomName = roomName;
|
||||
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(), ^{
|
||||
@@ -1561,18 +1575,15 @@
|
||||
}
|
||||
}
|
||||
|
||||
- (void)xPRoomGiftBroadcastView:(XPRoomGiftBroadcastView *)view didClickClose:(GiftReceiveInfoModel *)broadcastModel {
|
||||
[view removeFromSuperview];
|
||||
[view pop_removeAllAnimations];
|
||||
self.isPlayOfA = NO;
|
||||
if (self.animationListA.count > 0) {
|
||||
[self.animationListA removeObjectAtIndex:0];
|
||||
}
|
||||
if (self.animationListA.count > 0 && self.isPlayOfB == NO && self.isPlayOfA == NO) {
|
||||
[self createGiftBroadcastViewAnimation:self.animationListA.firstObject];
|
||||
#pragma mark - PIRoomGiftBroadcastWindowDelegate
|
||||
-(void)confirmLeaveForTheRoom:(NSString *_Nonnull)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];
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - 福袋中 四级奖品
|
||||
- (void)receiveLuckyGiftBigPrize:(AttachmentModel *)attachment {
|
||||
if ([self isInSudGame]) {return;}
|
||||
@@ -1594,7 +1605,7 @@
|
||||
- (void)createBigPrizeAnimation:(PIBaseAnimationViewModel *)prizeModel {
|
||||
|
||||
self.isPlayOfB = YES;
|
||||
CGFloat top = self.isPlayOfA == YES ? (190 + statusbarHeight) : (kNavigationHeight + 15);
|
||||
CGFloat top = self.isPlayOfA == YES ? (self.broadCastHieght + statusbarHeight) : (kNavigationHeight + 15);
|
||||
|
||||
|
||||
self.isLuckyGiftAnimation = YES;
|
||||
@@ -2704,4 +2715,10 @@
|
||||
}
|
||||
return _carPagView;
|
||||
}
|
||||
- (CGFloat)broadCastHieght{
|
||||
if(_broadCastHieght == 0){
|
||||
_broadCastHieght = 190 - 150 + kGetScaleWidth(69);
|
||||
}
|
||||
return _broadCastHieght;
|
||||
}
|
||||
@end
|
||||
|
Reference in New Issue
Block a user