交友房初步完成

This commit is contained in:
启星
2025-08-22 19:02:44 +08:00
parent 4ab82fa98f
commit ddeec09ea5
147 changed files with 3566 additions and 363 deletions

View File

@@ -12,7 +12,9 @@ typedef NS_ENUM(NSInteger) {
/// 名称名称在下显示魅力
QXRoomSeatContentViewTypeNormal = 0,
/// 名称在右
QXRoomSeatContentViewTypeAuction
QXRoomSeatContentViewTypeAuction = 1,
/// 交友房
QXRoomSeatContentViewTypeFriend
}QXRoomSeatContentViewType;
NS_ASSUME_NONNULL_BEGIN

View File

@@ -285,6 +285,29 @@
}];
}
break;
case QXRoomSeatContentViewTypeFriend:{
self.charmBgView.backgroundColor = RGB16A(0x000000,0.65);
// self.charmBgView.hidden = NO;
[self.charmBgView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.equalTo(self);
make.top.equalTo(self.noUserImageView.mas_bottom).offset(-8);
make.height.mas_equalTo(ScaleWidth(15));
}];
[self.nameLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.charmBgView.mas_bottom).offset(0);
// make.centerX.equalTo(self.noUserImageView);
make.height.mas_equalTo(18);
make.left.right.equalTo(self);
}];
self.nameLabel.textColor = RGB16(0xEFEAFF);
// self.numberLabel.backgroundColor = RGB16(0xdb7fff);
[self.numberLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.charmBgView.mas_bottom).offset(0);
make.centerX.equalTo(self.noUserImageView);
make.height.mas_equalTo(18);
}];
}
break;
default:
break;
}

View File

@@ -27,4 +27,7 @@
/// 查看个人信息
-(void)previewUserInfoWithUserId:(NSString*)userId;
/// 助力
-(void)friendPowerSendGiftWithUser:(QXRoomPitModel *)user heartId:(NSString*)heartId;
@end

View File

@@ -15,6 +15,8 @@ NS_ASSUME_NONNULL_BEGIN
@property (nonatomic,strong)QXRoomModel *roomModel;
-(void)cabinRoomHotValueDidChanged:(NSString*)hot_value;
-(void)friendCabinRoomTimeDelayWithTime:(NSString*)end_time;
-(void)destroyViews;
@end
NS_ASSUME_NONNULL_END

View File

@@ -17,6 +17,7 @@
@property (nonatomic,strong)QXRoomSeatContentView *leftSeatView;
@property (nonatomic,strong)UIImageView *bgImageView;
@property (nonatomic,strong)UIImageView *heartCenterImageView;
@property (nonatomic,strong)UILabel *numberLabel;
@@ -71,16 +72,52 @@
make.centerY.equalTo(self.titleLabel);
}];
self.timeDownBgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"room_cabin_timedown_bg"]];
self.timeDownBgView.contentMode = UIViewContentModeScaleToFill;
[self addSubview:self.timeDownBgView];
[self.timeDownBgView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(96);
make.top.mas_equalTo(ScaleWidth(102));
make.width.mas_equalTo(SCREEN_WIDTH-96*2);
make.height.mas_equalTo(24);
self.bgImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"room_friend_cabin_bg"]];
self.bgImageView.contentMode = UIViewContentModeScaleToFill;
[self addSubview:self.bgImageView];
[self.bgImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.top.equalTo(self);
make.height.mas_equalTo(ScaleWidth(330));
}];
self.heartCenterImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"room_cabin_heart"]];
[self addSubview:self.heartCenterImageView];
[self.heartCenterImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.equalTo(self.bgImageView);
make.centerY.equalTo(self.bgImageView);
make.height.mas_equalTo(ScaleWidth(80));
make.width.mas_equalTo(ScaleWidth(160));
}];
self.numberLabel = [[UILabel alloc] init];
self.numberLabel.text = @"0";
self.numberLabel.textAlignment = NSTextAlignmentCenter;
self.numberLabel.textColor = [UIColor colorWithHexString:@"#ffffff"];
self.numberLabel.font = [UIFont fontWithName:@"DIN Alternate" size:18];
[self addSubview:self.numberLabel];
[self.numberLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.equalTo(self.heartCenterImageView).offset(-18);
make.centerX.equalTo(self.heartCenterImageView);
}];
self.leftSeatView = [[QXRoomSeatContentView alloc] init];
[self addSubview:self.leftSeatView];
[self.leftSeatView mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.equalTo(self.heartCenterImageView.mas_left);
make.width.mas_equalTo(ScaleWidth(75));
make.height.mas_equalTo(ScaleWidth(75)+25);
make.top.equalTo(self.heartCenterImageView).offset(-5);
}];
self.rightSeatView = [[QXRoomSeatContentView alloc] init];
[self addSubview:self.rightSeatView];
[self.rightSeatView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self.heartCenterImageView.mas_right);
make.width.mas_equalTo(ScaleWidth(75));
make.height.mas_equalTo(ScaleWidth(75)+25);
make.top.equalTo(self.leftSeatView);
}];
self.timeDownLabel = [[UILabel alloc] initWithFrame:self.timeDownBgView.frame];
self.timeDownLabel.textColor = [UIColor colorWithHexString:@"#ffffff"];
self.timeDownLabel.font = [UIFont systemFontOfSize:12];
@@ -88,50 +125,20 @@
self.timeDownLabel.textAlignment = NSTextAlignmentCenter;
[self addSubview:self.timeDownLabel];
[self.timeDownLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.top.bottom.right.equalTo(self.timeDownBgView);
make.centerX.equalTo(self);
make.top.equalTo(self.heartCenterImageView.mas_bottom).offset(21);
make.height.mas_equalTo(24);
}];
self.timeDownBgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"room_cabin_timedown_bg"]];
self.timeDownBgView.contentMode = UIViewContentModeScaleToFill;
[self addSubview:self.timeDownBgView];
[self.timeDownBgView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self.timeDownLabel);
}];
self.leftSeatView = [[QXRoomSeatContentView alloc] init];
[self addSubview:self.leftSeatView];
[self.leftSeatView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(36);
make.width.mas_equalTo(ScaleWidth(65));
make.height.mas_equalTo(ScaleWidth(65)+25);
make.top.equalTo(self.timeDownBgView.mas_bottom).offset(24);
}];
self.rightSeatView = [[QXRoomSeatContentView alloc] init];
[self addSubview:self.rightSeatView];
[self.rightSeatView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.leftSeatView);
make.left.mas_equalTo(SCREEN_WIDTH-ScaleWidth(65)-36);
make.width.mas_equalTo(ScaleWidth(65));
make.height.mas_equalTo(ScaleWidth(65)+25);
}];
//
//
//
self.heartCenterImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"room_cabin_heart"]];
[self addSubview:self.heartCenterImageView];
[self.heartCenterImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self.leftSeatView.mas_right);
make.right.equalTo(self.rightSeatView.mas_left);
make.height.mas_equalTo(ScaleWidth(76));
make.centerY.equalTo(self.leftSeatView).offset(-15);
}];
self.numberLabel = [[UILabel alloc] init];
self.numberLabel.text = @"0";
self.numberLabel.textAlignment = NSTextAlignmentCenter;
self.numberLabel.textColor = [UIColor colorWithHexString:@"#ffffff"];
self.numberLabel.font = [UIFont systemFontOfSize:12];
[self addSubview:self.numberLabel];
[self.numberLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.equalTo(self.heartCenterImageView).offset(15);
make.centerX.equalTo(self.heartCenterImageView);
}];
CGFloat margin = (SCREEN_WIDTH-77*3)/4;
self.micBtn = [[UIButton alloc] init];
@@ -205,11 +212,16 @@
self.titleLabel.text = self.roomModel.room_info.room_name;
self.numberLabel.text = self.roomModel.room_info.hot_value;
NSTimeInterval timeInterval = [[NSDate date] timeIntervalSince1970];
long long milliseconds = (long long)(timeInterval);
long long time = roomModel.cp_user.time_day.longLongValue - milliseconds;
self.timeDownLabel.text = [NSString stringWithFormat:@"到期时间:%@",[NSString getTimeWithSecond:time]];
if ([self.roomModel.room_info.label_id isEqualToString:@"5"]) {
///
[self startTimer];
}else{
NSTimeInterval timeInterval = [[NSDate date] timeIntervalSince1970];
long long milliseconds = (long long)(timeInterval);
long long time = roomModel.cp_user.time_day.longLongValue - milliseconds;
self.timeDownLabel.text = [NSString stringWithFormat:@"到期时间:%@",[NSString getTimeWithSecond:time]];
}
if (![roomModel.room_owner.user_id isEqualToString:QXGlobal.shareGlobal.loginModel.user_id]) {
self.movieBtn.hidden = YES;
CGFloat margin = (SCREEN_WIDTH-77*2)/3;
@@ -252,12 +264,46 @@
//
[[QXAgoraEngine sharedEngine] startScreenCapture];
}
-(void)startTimer{
MJWeakSelf
NSTimeInterval timeInterval = [[NSDate date] timeIntervalSince1970];
//
long long milliseconds = (long long)(timeInterval);
self.startTime = self.roomModel.cp_user.time_day.longLongValue - milliseconds;
if (self.startTime <= 0) {
//
self.timeDownLabel.text = @"倒计时00:00:00";
return;
}
[self stopTimer];
_timer = [QXTimer scheduledTimerWithTimeInterval:1 repeats:YES queue:dispatch_get_main_queue() block:^{
dispatch_async(dispatch_get_main_queue(), ^{
weakSelf.startTime--;
NSInteger hour = self.startTime/60/60;
NSInteger min = (self.startTime % 3600) / 60;
NSInteger second = self.startTime % 60;
weakSelf.timeDownLabel.text = [NSString stringWithFormat:@"倒计时:%02ld:%02ld:%02ld",hour,min,(long)second];
if (weakSelf.startTime<=0) {
[weakSelf stopTimer];
weakSelf.timeDownLabel.text = @"00:00:00";
}
});
}];
}
-(void)stopTimer{
if (_timer) {
[self->_timer invalidate];
self->_timer= nil;
}
}
-(void)cabinRoomHotValueDidChanged:(NSString *)hot_value{
self.roomModel.room_info.hot_value = hot_value;
self.numberLabel.text = self.roomModel.room_info.hot_value;
}
-(void)friendCabinRoomTimeDelayWithTime:(NSString*)end_time{
self.roomModel.cp_user.time_day = end_time;
[self startTimer];
}
-(void)closeAction{
MJWeakSelf
UIAlertController *al = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:(UIAlertControllerStyleActionSheet)];
@@ -283,4 +329,15 @@
// self.navigationController.interactivePopGestureRecognizer.enabled = YES;
[self.navigationController popViewControllerAnimated:YES];
}
-(void)destroyViews{
if (_leftSeatView) {
[_leftSeatView destroyViews];
_leftSeatView = nil;
}
if (_rightSeatView) {
[_rightSeatView destroyViews];
_rightSeatView = nil;
}
[self stopTimer];
}
@end

View File

@@ -0,0 +1,65 @@
//
// QXRoomSeatTypeFrientView.h
// QXLive
//
// Created by 启星 on 2025/8/18.
//
#import <UIKit/UIKit.h>
#import "QXUserModel.h"
#import "QXRoomModel.h"
#import "QXRoomSeatDelegate.h"
#import "QXRoomSeatContentView.h"
typedef NS_ENUM(NSInteger) {
/// 等待
QXSeatTypeFrientPartTypeWait = 1,
/// 心动
QXSeatTypeFrientPartTypeHeart = 2,
/// 牵手
QXSeatTypeFrientPartTypeHand = 3,
}QXSeatTypeFrientPartType;
@interface QXRoomSeatTypeFrientView : UIView
/// 房间数据
@property (nonatomic,strong)QXRoomModel *roomModel;
/// 我自己的麦位
@property (nonatomic,assign)NSInteger myPitNumber;
@property (nonatomic,weak)id<QXRoomSeatDelegate>delegate;
/// 上下麦
-(void)didUpDownSeatWithUser:(QXUserHomeModel *)user isUpSeat:(BOOL)isUpSeat pit_number:(NSInteger)pit_number;
/// 交友房阶段发生变化 step 阶段 1等待 2心动 3牵手 friend_id 场次id
-(void)friendPartDidChangedWithType:(NSString*)step friend_id:(NSString*)friend_id end_time:(NSString*)end_time relationModel:(QXRoomFriendRelationModel*)relationModel;
/// 交友房时间发生延时 end_time 截止时间
-(void)friendTimeDelayWithTime:(NSString*)end_time;
/// 交友房麦位发生变化
-(void)friendSeatDidChanged:(NSArray<QXRoomPitModel*>*)pitArray;
/// 交友心动发生变化 [1000,100,50] 三组数据
-(void)friendHeartNumberDidChanged:(NSArray<QXRoomFriendHeartListModel *> *)heartArray;
/// 关系创建完成
-(void)friendRelationIsCreatedWithrelationModel:(QXRoomFriendRelationModel*)relationModel;
/// 清除魅力
-(void)clearCharm;
/// 设置魅力
-(void)setSeatCharmWithUser:(QXUserHomeModel*)model;
/// 用户信息发生改变
-(void)roomUserInfoDidChanged:(QXUserHomeModel *)user;
/// 销毁视图
-(void)destroyViews;
@end
@interface QXFrientSeatView : UIView
@property (nonatomic,strong)QXRoomSeatContentView *contentView;
@property (nonatomic,strong)UIButton *powerBtn;
@property (nonatomic,assign)BOOL isLeft;
@property (nonatomic,weak)id<QXRoomSeatDelegate>delegate;
@property (nonatomic,strong)QXRoomFriendHeartListModel *heartModel;
@end

File diff suppressed because it is too large Load Diff

View File

@@ -9,6 +9,7 @@
#import "QXRoomSeatTypeNormalView.h"
#import "QXRoomModel.h"
#import "QXRoomSeatDelegate.h"
#import "QXRoomFriendRelationModel.h"
NS_ASSUME_NONNULL_BEGIN
typedef NS_ENUM(NSInteger) {
@@ -23,6 +24,8 @@ typedef NS_ENUM(NSInteger) {
QXRoomSeatViewTypeCabin,
/// pk
QXRoomSeatViewTypePK,
/// 交友房
QXRoomSeatViewTypeFriend,
}QXRoomSeatViewType;
@@ -55,6 +58,8 @@ typedef NS_ENUM(NSInteger) {
/// 房间内用户信息发生变化
-(void)roomUserInfoDidChanged:(QXUserHomeModel *)user;
/// 拍卖位上下麦
-(void)didAuctiontUpDownSeatWithUser:(QXUserHomeModel *)user isUpSeat:(BOOL)isUpSeat;
/// 开始拍卖
@@ -65,6 +70,9 @@ typedef NS_ENUM(NSInteger) {
-(void)auctionDelayTimeWithEndTime:(NSString *)endTime;
/// 拍卖类型发生变化
-(void)auctionTypeDidChanged:(NSString *)type;
/// 私密小屋心动值发生变化
-(void)cabinRoomHotValueDidChanged:(NSString*)hot_value;
@@ -82,6 +90,23 @@ typedef NS_ENUM(NSInteger) {
victory_cover:(NSString*)victory_cover
defeated_name:(NSString*)defeated_name
defeated_cover:(NSString*)defeated_cover;
/// 交友房阶段发生变化 step 阶段 1等待 2心动 3牵手 friend_id 场次id
-(void)friendPartDidChangedWithType:(NSString*)step friend_id:(NSString*)friend_id end_time:(NSString*)end_time relationModel:(QXRoomFriendRelationModel*)relationModel;
/// 交友房时间发生延时 end_time 截止时间
-(void)friendTimeDelayWithTime:(NSString*)end_time;
/// 交友房麦位发生变化
-(void)friendSeatDidChanged:(NSArray<QXRoomPitModel*>*)pitArray;
/// 心动值发生变化
-(void)friendHeartNumberDidChanged:(NSArray<QXRoomFriendHeartListModel *> *)heartArray;
/// 关系创建完成
-(void)friendRelationIsCreatedWithrelationModel:(QXRoomFriendRelationModel*)relationModel;
/// 有人退出交友房私密小屋
-(void)friendCabinRoomIsQuit;
/// 私密小屋时间发生延时
-(void)friendCabinRoomTimeDelayWithTime:(NSString*)end_time;
@end
NS_ASSUME_NONNULL_END

View File

@@ -12,6 +12,7 @@
#import "QXRoomOnlineUserListView.h"
#import "QXRoomSeatTypeCabinView.h"
#import "QXRoomSeatPKView.h"
#import "QXRoomSeatTypeFrientView.h"
@interface QXRoomSeatView()<QXRoomSeatDelegate>
@property (nonatomic,strong)QXRoomSeatTypeNormalView *normalSeatView;
@@ -24,6 +25,8 @@
@property (nonatomic,strong)QXRoomSeatTypeCabinView *cabinView;
@property (nonatomic,strong)QXRoomSeatPKView *roomPkView;
@property (nonatomic,strong)QXRoomSeatTypeFrientView *roomFriendView;
@end
@@ -151,6 +154,39 @@
}];
return;
}
if (_roomFriendView) {
_roomFriendView.transform = CGAffineTransformIdentity;
//
[UIView animateWithDuration:0.5
delay:0
usingSpringWithDamping:0.9
initialSpringVelocity:0.1
options:UIViewAnimationOptionCurveEaseOut
animations:^{
self->_roomFriendView.transform = CGAffineTransformMakeScale(0.01, 0.01);
} completion:^(BOOL finished) {
[self->_roomFriendView destroyViews];
[self->_roomFriendView removeFromSuperview];
self->_roomFriendView = nil;
[self addSubview:self.normalSeatView];
[self.normalSeatView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.top.bottom.equalTo(self);
}];
self.normalSeatView.transform = CGAffineTransformMakeScale(0.01, 0.01);
//
[UIView animateWithDuration:0.5
delay:0
usingSpringWithDamping:0.9
initialSpringVelocity:0.1
options:UIViewAnimationOptionCurveEaseOut
animations:^{
self.normalSeatView.transform = CGAffineTransformIdentity;
} completion:^(BOOL finished) {
}];
}];
return;
}
[self addSubview:self.normalSeatView];
[self.normalSeatView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.top.bottom.equalTo(self);
@@ -263,6 +299,39 @@
}];
return;
}
if (_roomFriendView) {
_roomFriendView.transform = CGAffineTransformIdentity;
//
[UIView animateWithDuration:0.5
delay:0
usingSpringWithDamping:0.9
initialSpringVelocity:0.1
options:UIViewAnimationOptionCurveEaseOut
animations:^{
self->_roomFriendView.transform = CGAffineTransformMakeScale(0.01, 0.01);
} completion:^(BOOL finished) {
[self->_roomFriendView destroyViews];
[self->_roomFriendView removeFromSuperview];
self->_roomFriendView = nil;
[self addSubview:self.auctionView];
[self.auctionView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.top.bottom.equalTo(self);
}];
self.auctionView.transform = CGAffineTransformMakeScale(0.01, 0.01);
//
[UIView animateWithDuration:0.5
delay:0
usingSpringWithDamping:0.9
initialSpringVelocity:0.1
options:UIViewAnimationOptionCurveEaseOut
animations:^{
self.auctionView.transform = CGAffineTransformIdentity;
} completion:^(BOOL finished) {
}];
}];
return;
}
[self addSubview:self.auctionView];
[self.auctionView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.top.bottom.equalTo(self);
@@ -372,7 +441,39 @@
}];
return;
}
if (_roomFriendView) {
_roomFriendView.transform = CGAffineTransformIdentity;
//
[UIView animateWithDuration:0.5
delay:0
usingSpringWithDamping:0.9
initialSpringVelocity:0.1
options:UIViewAnimationOptionCurveEaseOut
animations:^{
self->_roomFriendView.transform = CGAffineTransformMakeScale(0.01, 0.01);
} completion:^(BOOL finished) {
[self->_roomFriendView destroyViews];
[self->_roomFriendView removeFromSuperview];
self->_roomFriendView = nil;
[self addSubview:self.songView];
[self.songView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.top.bottom.equalTo(self);
}];
self.songView.transform = CGAffineTransformMakeScale(0.01, 0.01);
//
[UIView animateWithDuration:0.5
delay:0
usingSpringWithDamping:0.9
initialSpringVelocity:0.1
options:UIViewAnimationOptionCurveEaseOut
animations:^{
self.songView.transform = CGAffineTransformIdentity;
} completion:^(BOOL finished) {
}];
}];
return;
}
[self addSubview:self.songView];
[self.songView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.top.bottom.equalTo(self);
@@ -456,6 +557,113 @@
make.left.right.top.bottom.equalTo(self);
}];
}
-(void)initRoomFriendView{
if (_normalSeatView) {
// [_normalSeatView removeFromSuperview];
// _normalSeatView = nil;
_normalSeatView.transform = CGAffineTransformIdentity;
//
[UIView animateWithDuration:0.5
delay:0
usingSpringWithDamping:0.9
initialSpringVelocity:0.1
options:UIViewAnimationOptionCurveEaseOut
animations:^{
self->_normalSeatView.transform = CGAffineTransformMakeScale(0.01, 0.01);
} completion:^(BOOL finished) {
[self->_normalSeatView destroyViews];
[self->_normalSeatView removeFromSuperview];
self->_normalSeatView = nil;
[self addSubview:self.roomFriendView];
[self.roomFriendView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.top.bottom.equalTo(self);
}];
self.roomFriendView.transform = CGAffineTransformMakeScale(0.01, 0.01);
//
[UIView animateWithDuration:0.5
delay:0
usingSpringWithDamping:0.9
initialSpringVelocity:0.1
options:UIViewAnimationOptionCurveEaseOut
animations:^{
self.roomFriendView.transform = CGAffineTransformIdentity;
} completion:^(BOOL finished) {
}];
}];
return;
}
if (_auctionView) {
_auctionView.transform = CGAffineTransformIdentity;
//
[UIView animateWithDuration:0.5
delay:0
usingSpringWithDamping:0.9
initialSpringVelocity:0.1
options:UIViewAnimationOptionCurveEaseOut
animations:^{
self->_auctionView.transform = CGAffineTransformMakeScale(0.01, 0.01);
} completion:^(BOOL finished) {
[self->_auctionView destroyViews];
[self->_auctionView removeFromSuperview];
self->_auctionView = nil;
[self addSubview:self.roomFriendView];
[self.roomFriendView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.top.bottom.equalTo(self);
}];
self.roomFriendView.transform = CGAffineTransformMakeScale(0.01, 0.01);
//
[UIView animateWithDuration:0.5
delay:0
usingSpringWithDamping:0.9
initialSpringVelocity:0.1
options:UIViewAnimationOptionCurveEaseOut
animations:^{
self.roomFriendView.transform = CGAffineTransformIdentity;
} completion:^(BOOL finished) {
}];
}];
return;
}
if (_songView) {
_songView.transform = CGAffineTransformIdentity;
//
[UIView animateWithDuration:0.5
delay:0
usingSpringWithDamping:0.9
initialSpringVelocity:0.1
options:UIViewAnimationOptionCurveEaseOut
animations:^{
self->_songView.transform = CGAffineTransformMakeScale(0.01, 0.01);
} completion:^(BOOL finished) {
[self->_songView destroyViews];
[self->_songView removeFromSuperview];
self->_songView = nil;
[self addSubview:self.roomFriendView];
[self.roomFriendView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.top.bottom.equalTo(self);
}];
self.roomFriendView.transform = CGAffineTransformMakeScale(0.01, 0.01);
//
[UIView animateWithDuration:0.5
delay:0
usingSpringWithDamping:0.9
initialSpringVelocity:0.1
options:UIViewAnimationOptionCurveEaseOut
animations:^{
self.roomFriendView.transform = CGAffineTransformIdentity;
} completion:^(BOOL finished) {
}];
}];
return;
}
[self addSubview:self.roomFriendView];
[self.roomFriendView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.top.bottom.equalTo(self);
}];
}
- (void)initCabinView{
self.cabinView = [[QXRoomSeatTypeCabinView alloc] init];
@@ -483,11 +691,15 @@
case QXRoomSeatViewTypePK:
self.roomPkView.myPitNumber = myPitNumber;
break;
case QXRoomSeatViewTypeFriend:
self.roomFriendView.myPitNumber = myPitNumber;
break;
default:
break;
}
}
-(void)setType:(QXRoomSeatViewType)type{
_type = type;
switch (type) {
@@ -517,6 +729,10 @@
[self initRoomPKView];
}
break;
case QXRoomSeatViewTypeFriend:{
[self initRoomFriendView];
}
break;
default:
break;
}
@@ -574,6 +790,9 @@
case QXRoomSeatViewTypePK:
self.roomPkView.roomModel = roomModel;
break;
case QXRoomSeatViewTypeFriend:
self.roomFriendView.roomModel = roomModel;
break;
default:
break;
}
@@ -637,6 +856,9 @@
case QXRoomSeatViewTypePK:
[self.roomPkView clearCharm];
break;
case QXRoomSeatViewTypeFriend:
[self.roomFriendView clearCharm];
break;
default:
break;
}
@@ -658,6 +880,9 @@
case QXRoomSeatViewTypePK:
[self.roomPkView setSeatCharmWithUser:model];
break;
case QXRoomSeatViewTypeFriend:
[self.roomFriendView setSeatCharmWithUser:model];
break;
default:
break;
}
@@ -707,6 +932,83 @@
}
}
#pragma mark -
/// step 1 2 3 friend_id id
-(void)friendPartDidChangedWithType:(NSString*)step friend_id:(NSString*)friend_id end_time:(NSString*)end_time relationModel:(QXRoomFriendRelationModel*)relationModel{
switch (self.type) {
case QXRoomSeatViewTypeFriend:{
[self.roomFriendView friendPartDidChangedWithType:step friend_id:friend_id end_time:end_time relationModel:relationModel];
}
break;
default:
break;
}
}
/// end_time
-(void)friendTimeDelayWithTime:(NSString*)end_time{
switch (self.type) {
case QXRoomSeatViewTypeFriend:{
[self.roomFriendView friendTimeDelayWithTime:end_time];
}
break;
default:
break;
}
}
-(void)friendSeatDidChanged:(NSArray<QXRoomPitModel *> *)pitArray{
switch (self.type) {
case QXRoomSeatViewTypeFriend:{
[self.roomFriendView friendSeatDidChanged:pitArray];
}
break;
default:
break;
}
}
-(void)friendHeartNumberDidChanged:(NSArray<QXRoomFriendHeartListModel *> *)heartArray{
switch (self.type) {
case QXRoomSeatViewTypeFriend:{
[self.roomFriendView friendHeartNumberDidChanged:heartArray];
}
break;
default:
break;
}
}
///
-(void)friendRelationIsCreatedWithrelationModel:(QXRoomFriendRelationModel*)relationModel{
switch (self.type) {
case QXRoomSeatViewTypeFriend:{
[self.roomFriendView friendRelationIsCreatedWithrelationModel:relationModel];
}
break;
default:
break;
}
}
/// 退
-(void)friendCabinRoomIsQuit{
}
///
-(void)friendCabinRoomTimeDelayWithTime:(NSString*)end_time{
switch (self.type) {
case QXRoomSeatViewTypeCabin:{
[self.cabinView friendCabinRoomTimeDelayWithTime:end_time];
}
break;
default:
break;
}
}
///
-(void)friendPowerSendGiftWithUser:(QXRoomPitModel *)user heartId:(NSString *)heartId{
if ([self.delegate respondsToSelector:@selector(friendPowerSendGiftWithUser:heartId:)]) {
[self.delegate friendPowerSendGiftWithUser:user heartId:heartId];
}
}
-(QXRoomSeatTypeNormalView *)normalSeatView{
if (!_normalSeatView) {
_normalSeatView = [[QXRoomSeatTypeNormalView alloc] init];
@@ -756,6 +1058,9 @@
case QXRoomSeatViewTypePK:
[self.roomPkView didUpDownSeatWithUser:user isUpSeat:isUpSeat pit_number:pit_number];
break;
case QXRoomSeatViewTypeFriend:
[self.roomFriendView didUpDownSeatWithUser:user isUpSeat:isUpSeat pit_number:pit_number];
break;
default:
break;
}
@@ -829,6 +1134,9 @@
case QXRoomSeatViewTypePK:
[self.roomPkView roomUserInfoDidChanged:user];
break;
case QXRoomSeatViewTypeFriend:
[self.roomFriendView roomUserInfoDidChanged:user];
break;
default:
break;
}
@@ -837,15 +1145,26 @@
-(void)destroyViews{
if (_normalSeatView) {
[self.normalSeatView destroyViews];
_normalSeatView = nil;
}
if (_songView) {
[self.songView destroyViews];
_songView = nil;
}
if (_auctionView) {
[self.auctionView destroyViews];
}
if (_roomPkView) {
[self.roomPkView destroyViews];
_roomPkView = nil;
}
if (_roomFriendView) {
[self.roomFriendView destroyViews];
_roomFriendView = nil;
}
if (_cabinView) {
[self.cabinView destroyViews];
_cabinView = nil;
}
}
@@ -871,4 +1190,11 @@
}
return _roomPkView;
}
-(QXRoomSeatTypeFrientView *)roomFriendView{
if (!_roomFriendView) {
_roomFriendView = [[QXRoomSeatTypeFrientView alloc] init];
_roomFriendView.delegate = self;
}
return _roomFriendView;
}
@end