diff --git a/QXLive.xcodeproj/project.pbxproj b/QXLive.xcodeproj/project.pbxproj
index 924851e..5a87313 100644
--- a/QXLive.xcodeproj/project.pbxproj
+++ b/QXLive.xcodeproj/project.pbxproj
@@ -787,7 +787,7 @@
"$(inherited)",
"$(SDKROOT)/usr/lib/swift",
);
- MARKETING_VERSION = 1.1.2;
+ MARKETING_VERSION = 1.1.3;
PRODUCT_BUNDLE_IDENTIFIER = com.qxcm.qxlive;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -853,7 +853,7 @@
"$(inherited)",
"$(SDKROOT)/usr/lib/swift",
);
- MARKETING_VERSION = 1.1.2;
+ MARKETING_VERSION = 1.1.3;
PRODUCT_BUNDLE_IDENTIFIER = com.qxcm.qxlive;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
diff --git a/QXLive/Dynamic(语圈)/Controller/QXExpansionViewController.m b/QXLive/Dynamic(语圈)/Controller/QXExpansionViewController.m
index 1d99ae1..255e6c5 100644
--- a/QXLive/Dynamic(语圈)/Controller/QXExpansionViewController.m
+++ b/QXLive/Dynamic(语圈)/Controller/QXExpansionViewController.m
@@ -157,9 +157,9 @@
itemH = (SCREEN_WIDTH-15-15-15)/2 + 94;
}else if(imgArr.count > 1){
if (imgArr.count > 3) {
- itemH = (SCREEN_WIDTH-16*2-12*2-10*2)/3*2+10+94;
+ itemH = (SCREEN_WIDTH-16*2-12*2-10*2)/3*2+10+94+ScaleWidth(10);
}else{
- itemH = (SCREEN_WIDTH-16*2-12*2-10*2)/3+94;
+ itemH = (SCREEN_WIDTH-16*2-12*2-10*2)/3+94+ScaleWidth(10);
}
}else{
itemH = 94;
diff --git a/QXLive/Dynamic(语圈)/View/QXExpansionCell.m b/QXLive/Dynamic(语圈)/View/QXExpansionCell.m
index cec6518..f9f663f 100644
--- a/QXLive/Dynamic(语圈)/View/QXExpansionCell.m
+++ b/QXLive/Dynamic(语圈)/View/QXExpansionCell.m
@@ -49,6 +49,16 @@
-(void)setModel:(QXUserHomeModel *)model{
_model = model;
[self.avatarImgV setHeadIcon:model.avatar dress:@""];
+ if ([model.nobility_image isExist]) {
+ [self.avatarImgV.nobilityImageView sd_setImageWithURL:[NSURL URLWithString:model.nobility_image]];
+ }else{
+ self.avatarImgV.nobilityImageView.image = nil;
+ }
+ if ([model.nickname_color isExist]) {
+ self.nicknameLab.textColor = [UIColor colorWithHexString:model.nickname_color];
+ }else{
+ self.nicknameLab.textColor = RGB16(0x212121);
+ }
self.nicknameLab.text = model.nickname;
self.ageLabel.text = [NSString stringWithFormat:@"%ld岁 ip属地: %@",[model.birthday ageWithDateOfBirth],model.loginip];
CGFloat imgWidth = (SCREEN_WIDTH-16*2-12*2-10*2)/3;
diff --git a/QXLive/Dynamic(语圈)/View/QXExpansionCell.xib b/QXLive/Dynamic(语圈)/View/QXExpansionCell.xib
index f67471b..3f68b6a 100644
--- a/QXLive/Dynamic(语圈)/View/QXExpansionCell.xib
+++ b/QXLive/Dynamic(语圈)/View/QXExpansionCell.xib
@@ -20,9 +20,9 @@
-
+
-
+
@@ -33,10 +33,10 @@
-
+
-
+
-
+
+
+
+
@@ -44,9 +63,13 @@
+
+
+
+
diff --git a/QXLive/Room(房间)/View/表情/QXRoomEmojiContentView.m b/QXLive/Room(房间)/View/表情/QXRoomEmojiContentView.m
index a864551..07d3382 100644
--- a/QXLive/Room(房间)/View/表情/QXRoomEmojiContentView.m
+++ b/QXLive/Room(房间)/View/表情/QXRoomEmojiContentView.m
@@ -76,6 +76,10 @@
}
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{
QXEmojiModel *md = self.dataArray[indexPath.row];
+ if (md.is_lock.intValue == 1) {
+ showToast(@"请先开通爵位");
+ return;
+ }
QXEmojiModel *result = [self randomResultWithEmoji:md];
if (self.delegate && [self.delegate respondsToSelector:@selector(didSelectedEmoji:)]) {
[self.delegate didSelectedEmoji:result];
diff --git a/QXLive/Room(房间)/View/麦位视图/QXRoomSeatContentView.m b/QXLive/Room(房间)/View/麦位视图/QXRoomSeatContentView.m
index fcd9d30..6763d35 100644
--- a/QXLive/Room(房间)/View/麦位视图/QXRoomSeatContentView.m
+++ b/QXLive/Room(房间)/View/麦位视图/QXRoomSeatContentView.m
@@ -263,6 +263,11 @@
}
self.isSeatSpeaking = YES;
[self.micSvgaView setHidden:NO];
+ if ([self.pitModel.mic_cycle isExist]) {
+ [self.micSvgaView loadSVGAPlayerWith:self.pitModel.mic_cycle inBundle:NO loop:10000000];
+ }else{
+ [self.micSvgaView loadSVGAPlayerWith:@"mic" inBundle:YES loop:10000000];
+ }
[self.micSvgaView startEffectSvgaPlay];
}
/// 暂停麦位动画
@@ -505,9 +510,8 @@
}
- (QXEffectSvgaView *)micSvgaView {
if (!_micSvgaView) {
- _micSvgaView = [[QXEffectSvgaView alloc] initWithFrame:CGRectZero isAutoPlay:NO];
+ _micSvgaView = [[QXEffectSvgaView alloc] initWithFrame:CGRectZero isAutoPlay:YES];
_micSvgaView.hidden = YES;
- [_micSvgaView loadSVGAPlayerWith:@"mic" inBundle:[NSBundle mainBundle] loop:10000000];
__weak typeof(self)weakSelf = self;
_micSvgaView.didFinishedDisplay = ^(QXEffectSvgaView * _Nonnull svgaView) {
weakSelf.isSeatSpeaking = NO;
diff --git a/QXLive/Room(房间)/View/麦位视图/QXRoomSeatTypeAuctionView.m b/QXLive/Room(房间)/View/麦位视图/QXRoomSeatTypeAuctionView.m
index 0b01d8f..253042f 100644
--- a/QXLive/Room(房间)/View/麦位视图/QXRoomSeatTypeAuctionView.m
+++ b/QXLive/Room(房间)/View/麦位视图/QXRoomSeatTypeAuctionView.m
@@ -573,6 +573,9 @@
model.dress = self.roomModel.room_auction.auction_user.dress;
model.sex = self.roomModel.room_auction.auction_user.sex;
model.charm = self.roomModel.room_auction.auction_user.charm;
+ model.nobility_image = self.roomModel.room_auction.auction_user.nobility_image;
+ model.nickname_color = self.roomModel.room_auction.auction_user.nickname_color;
+ model.mic_cycle = self.roomModel.room_auction.auction_user.mic_cycle;
self.auctionView.pitModel = model;
[self.auctionView hideCharm];
self.auctionCharmView.hidden = NO;
@@ -697,6 +700,9 @@
model.nickname = user.nickname;
model.user_code = user.user_code;
model.charm = user.charm;
+ model.nobility_image = user.nobility_image;
+ model.nickname_color = user.nickname_color;
+ model.mic_cycle = user.mic_cycle;
}else{
model.user_id = @"0";
model.avatar = @"";
@@ -705,6 +711,9 @@
model.nickname = @"";
model.user_code = @"";
model.charm = @"";
+ model.nobility_image = @"";
+ model.nickname_color = @"";
+ model.mic_cycle = @"";
if (contentView.isSeatSpeaking) {
[contentView stopAudioAnimation];
}
@@ -747,6 +756,9 @@
model.nickname = user.nickname;
model.user_code = user.user_code;
model.charm = user.charm;
+ model.nobility_image = user.nobility_image;
+ model.nickname_color = user.nickname_color;
+ model.mic_cycle = user.mic_cycle;
self.auctionCharmView.hidden = NO;
self.charmLabel.text = [NSString qx_showHotCountNumDouble:model.charm.longLongValue];
}else{
@@ -757,6 +769,9 @@
model.nickname = @"";
model.user_code = @"";
model.charm = @"";
+ model.nobility_image = @"";
+ model.nickname_color = @"";
+ model.mic_cycle = @"";
if (contentView.isSeatSpeaking) {
[contentView stopAudioAnimation];
}
@@ -976,6 +991,9 @@
pitModel.nickname = user.nickname;
pitModel.sex = user.sex;
pitModel.avatar = user.avatar;
+ pitModel.nobility_image = user.nobility_image;
+ pitModel.nickname_color = user.nickname_color;
+ pitModel.mic_cycle = user.mic_cycle;
self.auctionView.pitModel = pitModel;
}
@@ -985,6 +1003,9 @@
pitModel.nickname = user.nickname;
pitModel.sex = user.sex;
pitModel.avatar = user.avatar;
+ pitModel.nobility_image = user.nobility_image;
+ pitModel.nickname_color = user.nickname_color;
+ pitModel.mic_cycle = user.mic_cycle;
self.compereView.pitModel = pitModel;
}
for (QXRoomSeatContentView *seatView in self.seatArray) {
@@ -994,6 +1015,9 @@
md.nickname = user.nickname;
md.sex = user.sex;
md.avatar = user.avatar;
+ md.nobility_image = user.nobility_image;
+ md.nickname_color = user.nickname_color;
+ md.mic_cycle = user.mic_cycle;
seatView.pitModel = md;
break;
}
diff --git a/QXLive/Room(房间)/View/麦位视图/QXRoomSeatTypeFrientView.m b/QXLive/Room(房间)/View/麦位视图/QXRoomSeatTypeFrientView.m
index 0f9e5c3..0b193ec 100644
--- a/QXLive/Room(房间)/View/麦位视图/QXRoomSeatTypeFrientView.m
+++ b/QXLive/Room(房间)/View/麦位视图/QXRoomSeatTypeFrientView.m
@@ -837,6 +837,9 @@
model.nickname = user.nickname;
model.user_code = user.user_code;
model.charm = user.charm;
+ model.nobility_image = user.nobility_image;
+ model.nickname_color = user.nickname_color;
+ model.mic_cycle = user.mic_cycle;
}else{
model.user_id = @"0";
model.avatar = @"";
@@ -845,6 +848,9 @@
model.nickname = @"";
model.user_code = @"";
model.charm = @"";
+ model.nobility_image = @"";
+ model.nickname_color = @"";
+ model.mic_cycle = @"";
if (contentView.isSeatSpeaking) {
[contentView stopAudioAnimation];
}
@@ -1051,6 +1057,9 @@
md.nickname = model.nickname;
md.user_code = model.user_code;
md.charm = model.charm;
+ md.nobility_image = model.nobility_image;
+ md.nickname_color = model.nickname_color;
+ md.mic_cycle = model.mic_cycle;
contentView.pitModel = md;
if (contentView.isSeatSpeaking) {
[contentView stopAudioAnimation];
@@ -1158,6 +1167,9 @@
md.nickname = user.nickname;
md.sex = user.sex;
md.avatar = user.avatar;
+ md.nobility_image = user.nobility_image;
+ md.nickname_color = user.nickname_color;
+ md.mic_cycle = user.mic_cycle;
contentView.pitModel = md;
break;
}
diff --git a/QXLive/Room(房间)/View/麦位视图/QXRoomSeatTypeNormalView.m b/QXLive/Room(房间)/View/麦位视图/QXRoomSeatTypeNormalView.m
index e43ebbc..d99441b 100644
--- a/QXLive/Room(房间)/View/麦位视图/QXRoomSeatTypeNormalView.m
+++ b/QXLive/Room(房间)/View/麦位视图/QXRoomSeatTypeNormalView.m
@@ -204,6 +204,9 @@ static NSInteger maxSeat = 8;
model.nickname = user.nickname;
model.user_code = user.user_code;
model.charm = user.charm;
+ model.nobility_image = user.nobility_image;
+ model.nickname_color = user.nickname_color;
+ model.mic_cycle = user.mic_cycle;
}else{
model.user_id = @"0";
model.avatar = @"";
@@ -212,6 +215,9 @@ static NSInteger maxSeat = 8;
model.nickname = @"";
model.user_code = @"";
model.charm = @"";
+ model.nobility_image = @"";
+ model.nickname_color = @"";
+ model.mic_cycle = @"";
if (contentView.isSeatSpeaking) {
[contentView stopAudioAnimation];
}
@@ -429,6 +435,9 @@ static NSInteger maxSeat = 8;
md.nickname = user.nickname;
md.sex = user.sex;
md.avatar = user.avatar;
+ md.nobility_image = user.nobility_image;
+ md.nickname_color = user.nickname_color;
+ md.mic_cycle = user.mic_cycle;
seatView.pitModel = md;
break;
}
diff --git a/QXLive/Room(房间)/View/麦位视图/QXRoomSeatTypeSongView.m b/QXLive/Room(房间)/View/麦位视图/QXRoomSeatTypeSongView.m
index 1786fde..b1c43b3 100644
--- a/QXLive/Room(房间)/View/麦位视图/QXRoomSeatTypeSongView.m
+++ b/QXLive/Room(房间)/View/麦位视图/QXRoomSeatTypeSongView.m
@@ -302,6 +302,9 @@ QXRoomSeatDelegate
model.nickname = user.nickname;
model.user_code = user.user_code;
model.charm = user.charm;
+ model.nobility_image = user.nobility_image;
+ model.nickname_color = user.nickname_color;
+ model.mic_cycle = user.mic_cycle;
// [self.dataArray removeAllObjects];
// [self.dataArray addObjectsFromArray:self.roomModel.song_pit_list];
if (contentView == nil) {
@@ -315,6 +318,9 @@ QXRoomSeatDelegate
model.nickname = @"";
model.user_code = @"";
model.charm = @"";
+ model.nobility_image = @"";
+ model.nickname_color = @"";
+ model.mic_cycle = @"";
if (contentView) {
if (contentView.isSeatSpeaking) {
[contentView stopAudioAnimation];
@@ -443,6 +449,9 @@ QXRoomSeatDelegate
singer.nickname = self.roomModel.song_user_info.nickname;
singer.charm = self.roomModel.song_user_info.charm;
singer.dress = self.roomModel.song_user_info.dress;
+ singer.nobility_image = self.roomModel.song_user_info.nobility_image;
+ singer.nickname_color = self.roomModel.song_user_info.nickname_color;
+ singer.mic_cycle = self.roomModel.song_user_info.mic_cycle;
[self.dataArray removeAllObjects];
self.singerSeatView.pitModel = singer;
for (QXRoomPitModel *model in roomModel.room_info.pit_list) {
@@ -582,6 +591,9 @@ QXRoomSeatDelegate
singerModel.nickname = user.nickname;
singerModel.sex = user.sex;
singerModel.avatar = user.avatar;
+ singerModel.nobility_image = user.nobility_image;
+ singerModel.nickname_color = user.nickname_color;
+ singerModel.mic_cycle = user.mic_cycle;
self.singerSeatView.pitModel = singerModel;
}
QXRoomPitModel *compereModel = self.compereView.pitModel;
@@ -590,6 +602,9 @@ QXRoomSeatDelegate
compereModel.nickname = user.nickname;
compereModel.sex = user.sex;
compereModel.avatar = user.avatar;
+ compereModel.nobility_image = user.nobility_image;
+ compereModel.nickname_color = user.nickname_color;
+ compereModel.mic_cycle = user.mic_cycle;
self.compereView.pitModel = compereModel;
}
QXRoomPitModel *guestModel = self.guestView.pitModel;
@@ -598,6 +613,9 @@ QXRoomSeatDelegate
guestModel.nickname = user.nickname;
guestModel.sex = user.sex;
guestModel.avatar = user.avatar;
+ guestModel.nobility_image = user.nobility_image;
+ guestModel.nickname_color = user.nickname_color;
+ guestModel.mic_cycle = user.mic_cycle;
self.guestView.pitModel = guestModel;
}
for (QXRoomPitModel *md in self.dataArray) {
@@ -606,6 +624,9 @@ QXRoomSeatDelegate
md.nickname = user.nickname;
md.sex = user.sex;
md.avatar = user.avatar;
+ md.nobility_image = user.nobility_image;
+ md.nickname_color = user.nickname_color;
+ md.mic_cycle = user.mic_cycle;
break;
}
}
@@ -714,6 +735,9 @@ QXRoomSeatDelegate
singer.nickname = songInfo.nickname;
singer.charm = songInfo.charm;
singer.dress = songInfo.dress;
+ singer.nobility_image = songInfo.nobility_image;
+ singer.nickname_color = songInfo.nickname_color;
+ singer.mic_cycle = songInfo.mic_cycle;
self.singerSeatView.pitModel = singer;
// if (singer.user_id.intValue > 0) {
// [self.seatDict setObject:self.singerSeatView forKey:singer.user_id];
diff --git a/QXLive/Tabbar/弹窗/QXGiftCell.h b/QXLive/Tabbar/弹窗/QXGiftCell.h
index c6a1aed..9e64fb2 100644
--- a/QXLive/Tabbar/弹窗/QXGiftCell.h
+++ b/QXLive/Tabbar/弹窗/QXGiftCell.h
@@ -35,6 +35,7 @@ NS_ASSUME_NONNULL_BEGIN
@property (weak, nonatomic) IBOutlet UIImageView *grayCoverView;
@property (weak, nonatomic) IBOutlet UIImageView *giftNumBgImageView;
@property (weak, nonatomic) IBOutlet UIImageView *activityImageView;
+@property (weak, nonatomic) IBOutlet UIView *nobilityLockView;
@property (strong, nonatomic) QXGiftModel *roomGiftModel;
diff --git a/QXLive/Tabbar/弹窗/QXGiftCell.m b/QXLive/Tabbar/弹窗/QXGiftCell.m
index 28145f8..593bb89 100644
--- a/QXLive/Tabbar/弹窗/QXGiftCell.m
+++ b/QXLive/Tabbar/弹窗/QXGiftCell.m
@@ -97,6 +97,11 @@
-(void)setRoomGiftModel:(QXGiftModel *)roomGiftModel{
_roomGiftModel = roomGiftModel;
self.giftNameLabel.text = roomGiftModel.gift_name;
+ if (roomGiftModel.is_lock.intValue == 1) {
+ self.nobilityLockView.hidden = NO;
+ }else{
+ self.nobilityLockView.hidden = YES;
+ }
NSString *encodedQuery = [roomGiftModel.base_image stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSURL *imageUrl = [NSURL URLWithString:encodedQuery];
[self.gitfImageView sd_setImageWithURL:imageUrl];
diff --git a/QXLive/Tabbar/弹窗/QXGiftCell.xib b/QXLive/Tabbar/弹窗/QXGiftCell.xib
index 0fbd356..98c7035 100644
--- a/QXLive/Tabbar/弹窗/QXGiftCell.xib
+++ b/QXLive/Tabbar/弹窗/QXGiftCell.xib
@@ -95,6 +95,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -104,8 +121,12 @@
+
+
+
+
@@ -149,6 +170,7 @@
+
@@ -162,6 +184,7 @@
-
+
+
diff --git a/QXLive/Tabbar/飘屏/QXDrifNobilityJoinRoomView.h b/QXLive/Tabbar/飘屏/QXDrifNobilityJoinRoomView.h
new file mode 100644
index 0000000..a2f3b08
--- /dev/null
+++ b/QXLive/Tabbar/飘屏/QXDrifNobilityJoinRoomView.h
@@ -0,0 +1,23 @@
+//
+// QXDrifNobilityJoinRoomView.h
+// QXLive
+//
+// Created by 启星 on 2025/11/11.
+//
+
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface QXDrifNobilityJoinRoomView : UIView
+@property (nonatomic,strong)UIImageView *nobilityImageView;
+@property (nonatomic,strong)UIImageView *bgImageView;
+@property (nonatomic,strong)UILabel *titleLabel;
+@property (nonatomic,strong)QXRoomChatListModel *model;
+@property (nonatomic,strong)NSMutableArray *dataArray;
+-(void)addNobilityUserModel:(QXRoomChatListModel*)model;
++(instancetype)shareView;
+-(void)drifPopIsClose:(BOOL)isClose;
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/QXLive/Tabbar/飘屏/QXDrifNobilityJoinRoomView.m b/QXLive/Tabbar/飘屏/QXDrifNobilityJoinRoomView.m
new file mode 100644
index 0000000..fb413ba
--- /dev/null
+++ b/QXLive/Tabbar/飘屏/QXDrifNobilityJoinRoomView.m
@@ -0,0 +1,148 @@
+//
+// QXDrifNobilityJoinRoomView.m
+// QXLive
+//
+// Created by 启星 on 2025/11/11.
+//
+
+#import "QXDrifNobilityJoinRoomView.h"
+//nobility_drif_join_room_bg
+@interface QXDrifNobilityJoinRoomView()
+@property (nonatomic,assign)BOOL isPlaying;
+@property (nonatomic,assign)BOOL isClose;
+@end
+@implementation QXDrifNobilityJoinRoomView
+
+- (instancetype)init
+{
+ self = [super init];
+ if (self) {
+ self.frame = CGRectMake(SCREEN_WIDTH, 340, 208, 60);
+ BOOL isClose = [[NSUserDefaults standardUserDefaults] boolForKey:kIsCloseDrifNobility];
+ self.isClose = isClose;
+ [self initSubviews];
+ }
+ return self;
+}
++(instancetype)shareView{
+ static QXDrifNobilityJoinRoomView *manager = nil;
+ static dispatch_once_t predicate;
+ dispatch_once(&predicate, ^{
+ manager = [[QXDrifNobilityJoinRoomView alloc] init];
+ });
+ return manager;
+}
+
+-(void)initSubviews{
+ self.bgImageView = [[UIImageView alloc] init];
+ self.bgImageView.contentMode = UIViewContentModeScaleToFill;
+ [self addSubview:self.bgImageView];
+ [self.bgImageView mas_makeConstraints:^(MASConstraintMaker *make) {
+ make.width.mas_equalTo(208);
+ make.height.mas_equalTo(60);
+ make.centerY.centerX.equalTo(self);
+ }];
+
+ self.titleLabel = [[UILabel alloc] init];
+ self.titleLabel.font = [UIFont systemFontOfSize:12];
+ self.titleLabel.textColor = RGB16(0xFFFFFF);
+ [self addSubview:self.titleLabel];;
+ [self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
+ make.left.equalTo(self.bgImageView).offset(57);
+ make.centerY.equalTo(self.bgImageView);
+ }];
+ self.userInteractionEnabled = YES;
+// MJWeakSelf
+// [self addTapBlock:^(id _Nonnull obj) {
+// if ([weakSelf.model.room_id isExist]) {
+// [[QXGlobal shareGlobal] joinRoomWithRoomId:weakSelf.model.room_id isRejoin:NO navagationController:weakSelf.viewController.navigationController];
+// }
+// }];
+}
+-(void)addNobilityUserModel:(QXRoomChatListModel *)model{
+ if (self.isClose) {
+ return;
+ }
+ [self.dataArray addObject:model];
+ [self giftAction];
+}
+
+
+-(void)giftAction{
+ if (self.isPlaying) {
+ return;
+ }
+ MJWeakSelf
+ [QXDrifNobilityJoinRoomView shareView].isPlaying = YES;
+ [QXDrifNobilityJoinRoomView shareView].model = [QXDrifNobilityJoinRoomView shareView].dataArray.firstObject;
+ [KEYWINDOW addSubview:[QXDrifNobilityJoinRoomView shareView]];
+// [UIView animateWithDuration:0.5 delay:0 options:UIViewAnimationOptionCurveEaseOut animations:^{
+// [QXDrifNobilityJoinRoomView shareView].x = (SCREEN_WIDTH-ScaleWidth(358))/2;
+// } completion:^(BOOL finished) {
+// [weakSelf performSelector:@selector(dissmissAnimate) afterDelay:5];
+// }];
+ [QXDrifNobilityJoinRoomView shareView].alpha = 0;
+ // 第一阶段:快速进入(0.3秒)
+ [UIView animateWithDuration:0.8
+ delay:0
+ options:UIViewAnimationOptionCurveEaseOut
+ animations:^{
+ [QXDrifNobilityJoinRoomView shareView].x = 36;
+ [QXDrifNobilityJoinRoomView shareView].alpha = 1;
+ } completion:^(BOOL finished) {
+ if (finished) {
+ // 第二阶段:非常慢速停留
+ [UIView animateWithDuration:3.0
+ delay:0
+ options:UIViewAnimationOptionCurveLinear
+ animations:^{
+ // 微小的水平移动,创造缓慢移动效果
+ [QXDrifNobilityJoinRoomView shareView].x = 16;
+ } completion:^(BOOL finished) {
+ if (finished) {
+ [self dissmissAnimate];
+ }
+ }];
+ }
+ }];
+}
+-(void)dissmissAnimate{
+ [UIView animateWithDuration:0.3 delay:0 options:UIViewAnimationOptionCurveEaseIn animations:^{
+ [QXDrifNobilityJoinRoomView shareView].x = -SCREEN_WIDTH;
+ } completion:^(BOOL finished) {
+ [QXDrifNobilityJoinRoomView shareView].x = SCREEN_WIDTH;
+ [[QXDrifNobilityJoinRoomView shareView] removeFromSuperview];
+ [[QXDrifNobilityJoinRoomView shareView].dataArray removeFirstObject];
+ [QXDrifNobilityJoinRoomView shareView].isPlaying = NO;
+ if ([QXDrifNobilityJoinRoomView shareView].dataArray.count>0) {
+ [[QXDrifNobilityJoinRoomView shareView] giftAction];
+ }
+ }];
+}
+
+-(void)setModel:(QXRoomChatListModel *)model{
+ _model = model;
+ self.titleLabel.text = model.FromUserInfo.enter_text;
+ [self.bgImageView sd_setImageWithURL:[NSURL URLWithString:model.FromUserInfo.enter_image]];
+}
+-(void)drifPopIsClose:(BOOL)isClose{
+ _isClose = isClose;
+ self.hidden = self.isClose;
+ [[NSUserDefaults standardUserDefaults] setBool:isClose forKey:kIsCloseDrifNobility];
+ [[NSUserDefaults standardUserDefaults] synchronize];
+ if (isClose) {
+ [QXDrifNobilityJoinRoomView shareView].x = SCREEN_WIDTH;
+ [[QXDrifNobilityJoinRoomView shareView] removeFromSuperview];
+ [[QXDrifNobilityJoinRoomView shareView].dataArray removeAllObjects];
+ [QXDrifNobilityJoinRoomView shareView].isPlaying = NO;
+ }
+}
+
+-(NSMutableArray *)dataArray{
+ if (!_dataArray) {
+ _dataArray = [NSMutableArray array];
+ }
+ return _dataArray;
+}
+
+@end