交友房初步完成
This commit is contained in:
@@ -12,7 +12,9 @@ typedef NS_ENUM(NSInteger) {
|
||||
/// 名称名称在下显示魅力
|
||||
QXRoomSeatContentViewTypeNormal = 0,
|
||||
/// 名称在右
|
||||
QXRoomSeatContentViewTypeAuction
|
||||
QXRoomSeatContentViewTypeAuction = 1,
|
||||
/// 交友房
|
||||
QXRoomSeatContentViewTypeFriend
|
||||
}QXRoomSeatContentViewType;
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -27,4 +27,7 @@
|
||||
/// 查看个人信息
|
||||
-(void)previewUserInfoWithUserId:(NSString*)userId;
|
||||
|
||||
/// 助力
|
||||
-(void)friendPowerSendGiftWithUser:(QXRoomPitModel *)user heartId:(NSString*)heartId;
|
||||
|
||||
@end
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
65
QXLive/HomePage(声播)/View/房间/麦位视图/QXRoomSeatTypeFrientView.h
Normal file
65
QXLive/HomePage(声播)/View/房间/麦位视图/QXRoomSeatTypeFrientView.h
Normal 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
|
||||
|
||||
1349
QXLive/HomePage(声播)/View/房间/麦位视图/QXRoomSeatTypeFrientView.m
Normal file
1349
QXLive/HomePage(声播)/View/房间/麦位视图/QXRoomSeatTypeFrientView.m
Normal file
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user