修改
@@ -202,8 +202,8 @@
|
||||
filePath = "QXLive/HomePage(声播)/View/房间/麦位视图/QXRoomSeatTypeFrientView.m"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "1130"
|
||||
endingLineNumber = "1130"
|
||||
startingLineNumber = "1133"
|
||||
endingLineNumber = "1133"
|
||||
landmarkName = "-roomUserInfoDidChanged:"
|
||||
landmarkType = "7">
|
||||
</BreakpointContent>
|
||||
@@ -227,48 +227,32 @@
|
||||
<BreakpointProxy
|
||||
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
||||
<BreakpointContent
|
||||
uuid = "BD365680-84CD-49F2-A073-EBDE86C1D229"
|
||||
uuid = "9D956DDD-23DD-4EA6-915E-B80EBA7A5B63"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
filePath = "QXLive/Tabbar/弹窗/QXMeetActivityDriftView.m"
|
||||
filePath = "QXLive/Config/QXRoomMessageManager.m"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "55"
|
||||
endingLineNumber = "55"
|
||||
landmarkName = "-initSubviews"
|
||||
startingLineNumber = "36"
|
||||
endingLineNumber = "36"
|
||||
landmarkName = "-joinGroupWithRoomId:"
|
||||
landmarkType = "7">
|
||||
</BreakpointContent>
|
||||
</BreakpointProxy>
|
||||
<BreakpointProxy
|
||||
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
||||
<BreakpointContent
|
||||
uuid = "92826863-0A2E-4FCC-BF5D-455D19EC314A"
|
||||
uuid = "C1C85860-E93B-49DA-9A67-5211579D91E1"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
filePath = "QXLive/HomePage(声播)/View/房间/QXRoomChatListView.m"
|
||||
filePath = "QXLive/Config/QXRoomMessageManager.m"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "743"
|
||||
endingLineNumber = "743"
|
||||
landmarkName = "-setMessage:"
|
||||
landmarkType = "7">
|
||||
</BreakpointContent>
|
||||
</BreakpointProxy>
|
||||
<BreakpointProxy
|
||||
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
||||
<BreakpointContent
|
||||
uuid = "F5A81A6E-DAEB-47C9-8395-70A61EF03D4C"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
filePath = "QXLive/HomePage(声播)/View/房间/QXRoomChatListView.m"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "550"
|
||||
endingLineNumber = "550"
|
||||
landmarkName = "-setMessage:"
|
||||
startingLineNumber = "499"
|
||||
endingLineNumber = "499"
|
||||
landmarkName = "-onReceiveRESTCustomData:data:"
|
||||
landmarkType = "7">
|
||||
</BreakpointContent>
|
||||
</BreakpointProxy>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
[super viewDidLoad];
|
||||
// Do any additional setup after loading the view.
|
||||
self.bgImaegView = [[UIImageView alloc] initWithFrame:[UIScreen mainScreen].bounds];
|
||||
self.bgImaegView.image = [UIImage imageNamed:@"app_start_midi"];;
|
||||
self.bgImaegView.image = [UIImage imageNamed:@"app_start_midi1"];;
|
||||
self.bgImaegView.contentMode = UIViewContentModeScaleAspectFill;
|
||||
[self.view addSubview:self.bgImaegView];
|
||||
// [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(loginSuccess) name:noticeUserLogin object:nil];
|
||||
|
||||
@@ -209,6 +209,7 @@
|
||||
}else{
|
||||
[UIApplication sharedApplication].idleTimerDisabled = YES;
|
||||
self.roomVC.hidesBottomBarWhenPushed = YES;
|
||||
[self.roomVC playHWDMP4];
|
||||
[navagationController pushViewController:self.roomVC animated:YES];
|
||||
}
|
||||
return;
|
||||
@@ -220,6 +221,7 @@
|
||||
MJWeakSelf
|
||||
if (isRejoin) {
|
||||
if (self.roomVC!=nil) {
|
||||
[self.roomVC playHWDMP4];
|
||||
self.roomVC.hidesBottomBarWhenPushed = YES;
|
||||
[navagationController pushViewController:self.roomVC animated:YES];
|
||||
}else{
|
||||
@@ -228,6 +230,7 @@
|
||||
}
|
||||
// showLoadingInView(KEYWINDOW)
|
||||
weakSelf.isClickJoinRoom = YES;
|
||||
[[QXRoomMessageManager shared] joinGroupWithRoomId:roomId];
|
||||
[QXMineNetwork joinRoomWithRoomId:roomId successBlock:^(QXRoomModel * _Nonnull roomModel) {
|
||||
// hideLoadingInView(KEYWINDOW)
|
||||
// roomModel.room_info.pk_room_id = @"33";
|
||||
@@ -248,6 +251,7 @@
|
||||
}
|
||||
}else{
|
||||
if ([roomId isEqualToString:self.roomVC.roomId]) {
|
||||
[self.roomVC playHWDMP4];
|
||||
[navagationController pushViewController:self.roomVC animated:YES];
|
||||
}else{
|
||||
// showLoadingInView(KEYWINDOW)
|
||||
@@ -255,6 +259,7 @@
|
||||
return;
|
||||
}
|
||||
weakSelf.isClickJoinRoom = YES;
|
||||
[[QXRoomMessageManager shared] joinGroupWithRoomId:roomId];
|
||||
[QXMineNetwork joinRoomWithRoomId:roomId successBlock:^(QXRoomModel * _Nonnull roomModel) {
|
||||
// hideLoadingInView(KEYWINDOW)
|
||||
// roomModel.room_info.pk_room_id = @"33";
|
||||
|
||||
@@ -184,7 +184,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
/// 10秒自动校正在线人数
|
||||
-(void)roomOnlineNumberDidChangedOnlineNumber:(NSString*)onlineNumber;
|
||||
/// 房间换麦
|
||||
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber;
|
||||
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber userInfo:(QXUserHomeModel*)userInfo;
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -583,8 +583,8 @@
|
||||
QXRoomChatListModel *model = [QXRoomChatListModel yy_modelWithJSON:msg.Text];
|
||||
NSInteger fromPitNumber = [msg.Text[@"from_pit_number"] integerValue];
|
||||
NSInteger toPitNumber = [msg.Text[@"to_pit_number"] integerValue];
|
||||
if (self.delegate && [self.delegate respondsToSelector:@selector(roomSeatExchangedWithFromPitNumber:toPitNumber:)]) {
|
||||
[self.delegate roomSeatExchangedWithFromPitNumber:fromPitNumber toPitNumber:toPitNumber];
|
||||
if (self.delegate && [self.delegate respondsToSelector:@selector(roomSeatExchangedWithFromPitNumber:toPitNumber:userInfo:)]) {
|
||||
[self.delegate roomSeatExchangedWithFromPitNumber:fromPitNumber toPitNumber:toPitNumber userInfo:model.FromUserInfo];
|
||||
}
|
||||
if (self.delegate && [self.delegate respondsToSelector:@selector(didInsertMessge:)]) {
|
||||
model.messageType = QXRoomChatMessageTypeSystem;
|
||||
|
||||
@@ -46,7 +46,8 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
/// 巡乐会
|
||||
@property (nonatomic,strong)QXMeetActivityView *meetView;
|
||||
-(void)configBottomTools;
|
||||
|
||||
-(void)stopHWDMP4;
|
||||
-(void)playHWDMP4;
|
||||
-(void)destroyViews;
|
||||
@end
|
||||
|
||||
|
||||
@@ -83,6 +83,7 @@ QXRoomUserInfoViewDelegate
|
||||
-(void)viewWillAppear:(BOOL)animated{
|
||||
[super viewWillAppear:animated];
|
||||
[self.navigationController setNavigationBarHidden:YES animated:YES];
|
||||
|
||||
}
|
||||
-(void)viewDidAppear:(BOOL)animated{
|
||||
[super viewDidAppear:animated];
|
||||
@@ -100,6 +101,7 @@ QXRoomUserInfoViewDelegate
|
||||
break;
|
||||
}
|
||||
}
|
||||
[self playHWDMP4];
|
||||
self.navigationController.viewControllers = marr;
|
||||
// self.navigationController.interactivePopGestureRecognizer.enabled = NO;
|
||||
}
|
||||
@@ -107,6 +109,7 @@ QXRoomUserInfoViewDelegate
|
||||
[super viewDidDisappear:animated];
|
||||
// [[QXGiftPlayerManager shareManager] stopPlay];
|
||||
self.continuousView.hidden = YES;
|
||||
[self stopHWDMP4];
|
||||
}
|
||||
|
||||
-(void)initSubViews{
|
||||
@@ -221,7 +224,6 @@ QXRoomUserInfoViewDelegate
|
||||
-(void)setRoomId:(NSString *)roomId{
|
||||
_roomId = roomId;
|
||||
[self.chatListView insertNoitce];
|
||||
[[QXRoomMessageManager shared] joinGroupWithRoomId:self.roomId];
|
||||
MJWeakSelf
|
||||
[QXMineNetwork roomOnlineListWithRoomId:self.roomId page:1 successBlock:^(NSArray<QXRoomUserInfoModel *> * _Nonnull onPitList, NSArray<QXRoomUserInfoModel *> * _Nonnull offPitList) {
|
||||
NSMutableArray *arr = [NSMutableArray arrayWithArray:onPitList];
|
||||
@@ -236,7 +238,6 @@ QXRoomUserInfoViewDelegate
|
||||
|
||||
[self resetSubviews];
|
||||
[self configRoomDataIsJoin:YES];
|
||||
// [QXMineNetwork joinRoomWithRoomId:self.roomId successBlock:^(QXRoomModel * _Nonnull roomModel) {
|
||||
//// roomModel.room_info.pk_room_id = @"33";
|
||||
//
|
||||
//
|
||||
@@ -548,6 +549,8 @@ QXRoomUserInfoViewDelegate
|
||||
}
|
||||
/// 暂时不要pk
|
||||
hasPK = NO;
|
||||
/// 暂时不要ktv
|
||||
hasSong = NO;
|
||||
/// 普通麦位
|
||||
if (self.seatContentView.myPitNumber <= 0) {
|
||||
self.bottomView.status = 1;
|
||||
@@ -747,8 +750,17 @@ QXRoomUserInfoViewDelegate
|
||||
}
|
||||
|
||||
}
|
||||
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber{
|
||||
[self.seatContentView roomSeatExchangedWithFromPitNumber:fromPitNumber toPitNumber:toPitNumber];
|
||||
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber userInfo:(QXUserHomeModel*)userInfo{
|
||||
[self.seatContentView roomSeatExchangedWithFromPitNumber:fromPitNumber toPitNumber:toPitNumber userInfo:userInfo];
|
||||
if ([userInfo.user_id isEqualToString:QXGlobal.shareGlobal.loginModel.user_id]) {
|
||||
if (toPitNumber == 9) {
|
||||
self.soundBtn.hidden = NO;
|
||||
self.titleView.isCompere = YES;
|
||||
}else{
|
||||
self.soundBtn.hidden = YES;
|
||||
self.titleView.isCompere = NO;
|
||||
}
|
||||
}
|
||||
}
|
||||
// 踢出房间
|
||||
-(void)userDidTakeOffWithUserInfo:(QXUserHomeModel *)userInfo{
|
||||
@@ -1839,6 +1851,12 @@ QXRoomUserInfoViewDelegate
|
||||
}
|
||||
return _meetView;
|
||||
}
|
||||
-(void)stopHWDMP4{
|
||||
[self.seatContentView stopHWDMP4];
|
||||
}
|
||||
-(void)playHWDMP4{
|
||||
[self.seatContentView playHWDMP4];
|
||||
}
|
||||
-(void)destroyViews{
|
||||
if (_skyView) {
|
||||
[_skyView destroyViews];
|
||||
|
||||
@@ -71,6 +71,7 @@ typedef NS_ENUM(NSInteger) {
|
||||
@property (nonatomic,assign)QXRoomChatMessageType messageType;
|
||||
@property (nonatomic,strong)NSString* text;
|
||||
@property (nonatomic,strong)QXGiftModel* GiftInfo;
|
||||
@property (nonatomic,strong)NSArray<QXGiftModel*>* GiftInfos;
|
||||
@property (nonatomic,strong)QXUserHomeModel* FromUserInfo;
|
||||
@property (nonatomic,strong)QXUserHomeModel* ToUserInfo;
|
||||
|
||||
|
||||
@@ -7,6 +7,33 @@
|
||||
|
||||
#import "QXRoomChatListView.h"
|
||||
#import "UIImage+WebP.h"
|
||||
#define messageNameColor RGB16(0x00C8FF)
|
||||
#define messageGiftColor RGB16(0xFFE309)
|
||||
NSArray<NSValue *> *findAllOccurrencesOfString(NSString *fullString, NSString *substring) {
|
||||
NSMutableArray<NSValue *> *occurrences = [NSMutableArray array];
|
||||
NSRange searchRange = NSMakeRange(0, fullString.length);
|
||||
NSRange foundRange;
|
||||
|
||||
while (searchRange.location < fullString.length) {
|
||||
searchRange.length = fullString.length - searchRange.location;
|
||||
foundRange = [fullString rangeOfString:substring
|
||||
options:0
|
||||
range:searchRange];
|
||||
|
||||
if (foundRange.location != NSNotFound) {
|
||||
// 找到匹配,添加到数组
|
||||
[occurrences addObject:[NSValue valueWithRange:foundRange]];
|
||||
|
||||
// 更新搜索范围,从当前匹配位置之后继续搜索
|
||||
searchRange.location = foundRange.location + foundRange.length;
|
||||
} else {
|
||||
// 没有更多匹配,退出循环
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return [occurrences copy];
|
||||
}
|
||||
NSInteger maxMessageCount = 20;
|
||||
@interface QXRoomChatListView() <UITableViewDelegate,UITableViewDataSource,QXRoomSeatDelegate>
|
||||
@property (nonatomic,strong)UITableView *tableView;
|
||||
@@ -349,13 +376,37 @@ NSInteger maxMessageCount = 20;
|
||||
// self.titleLabel.text = message.text;
|
||||
NSMutableAttributedString *attr = [[NSMutableAttributedString alloc] initWithString:message.text];
|
||||
if ([message.FromUserInfo.nickname isExist]) {
|
||||
[attr yy_setColor:RGB16(0xFFE309) range:[message.text rangeOfString:message.FromUserInfo.nickname]];
|
||||
[attr yy_setColor:messageNameColor range:[message.text rangeOfString:message.FromUserInfo.nickname]];
|
||||
}
|
||||
if ([message.ToUserInfo.nickname isExist]) {
|
||||
[attr yy_setColor:RGB16(0xFFE309) range:[message.text rangeOfString:message.ToUserInfo.nickname]];
|
||||
[attr yy_setColor:messageNameColor range:[message.text rangeOfString:message.ToUserInfo.nickname]];
|
||||
}
|
||||
if ([message.GiftInfo.gift_name isExist]) {
|
||||
[attr yy_setColor:RGB16(0x00C8FF) range:[message.text rangeOfString:message.GiftInfo.gift_name]];
|
||||
NSArray *arr = [message.GiftInfo.gift_name componentsSeparatedByString:@","];
|
||||
for (NSString*gift_name in arr) {
|
||||
NSArray<NSValue *> *occurrences = findAllOccurrencesOfString(message.text, gift_name);
|
||||
for (NSValue *rangeValue in occurrences) {
|
||||
NSRange range = [rangeValue rangeValue];
|
||||
[attr yy_setColor:messageGiftColor range:range];
|
||||
}
|
||||
}
|
||||
}
|
||||
if (message.GiftInfos.count > 0) {
|
||||
for (QXGiftModel*gift in message.GiftInfos) {
|
||||
if ([gift.gift_name isExist]) {
|
||||
[attr yy_setColor:messageGiftColor range:[message.text rangeOfString:gift.gift_name]];
|
||||
}
|
||||
}
|
||||
}
|
||||
if (message.ToUserInfos.count > 0) {
|
||||
for (int i = 0; i < message.ToUserInfos.count; i++) {
|
||||
QXUserHomeModel*md = message.ToUserInfos[i];
|
||||
NSArray<NSValue *> *occurrences = findAllOccurrencesOfString(message.text, md.nickname);
|
||||
for (NSValue *rangeValue in occurrences) {
|
||||
NSRange range = [rangeValue rangeValue];
|
||||
[attr yy_setColor:messageNameColor range:range];
|
||||
}
|
||||
}
|
||||
}
|
||||
self.titleLabel.attributedText = attr;
|
||||
self.nameLabel.text = message.FromUserInfo.nickname;
|
||||
@@ -394,7 +445,7 @@ NSInteger maxMessageCount = 20;
|
||||
}];
|
||||
|
||||
self.nameLabel = [[UILabel alloc] init];
|
||||
self.nameLabel.textColor = [UIColor whiteColor];
|
||||
self.nameLabel.textColor = RGB16(0xCCA882);
|
||||
self.nameLabel.font = [UIFont systemFontOfSize:12];
|
||||
[self.contentView addSubview:self.nameLabel];
|
||||
[self.nameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
@@ -549,13 +600,37 @@ NSInteger maxMessageCount = 20;
|
||||
// self.titleLabel.text = message.text;
|
||||
NSMutableAttributedString *attr = [[NSMutableAttributedString alloc] initWithString:message.text];
|
||||
if ([message.FromUserInfo.nickname isExist]) {
|
||||
[attr yy_setColor:RGB16(0xFFE309) range:[message.text rangeOfString:message.FromUserInfo.nickname]];
|
||||
[attr yy_setColor:messageNameColor range:[message.text rangeOfString:message.FromUserInfo.nickname]];
|
||||
}
|
||||
if ([message.ToUserInfo.nickname isExist]) {
|
||||
[attr yy_setColor:RGB16(0xFFE309) range:[message.text rangeOfString:message.ToUserInfo.nickname]];
|
||||
[attr yy_setColor:messageNameColor range:[message.text rangeOfString:message.ToUserInfo.nickname]];
|
||||
}
|
||||
if ([message.GiftInfo.gift_name isExist]) {
|
||||
[attr yy_setColor:RGB16(0x00C8FF) range:[message.text rangeOfString:message.GiftInfo.gift_name]];
|
||||
NSArray *arr = [message.GiftInfo.gift_name componentsSeparatedByString:@","];
|
||||
for (NSString*gift_name in arr) {
|
||||
NSArray<NSValue *> *occurrences = findAllOccurrencesOfString(message.text, gift_name);
|
||||
for (NSValue *rangeValue in occurrences) {
|
||||
NSRange range = [rangeValue rangeValue];
|
||||
[attr yy_setColor:messageGiftColor range:range];
|
||||
}
|
||||
}
|
||||
}
|
||||
if (message.GiftInfos.count > 0) {
|
||||
for (QXGiftModel*gift in message.GiftInfos) {
|
||||
if ([gift.gift_name isExist]) {
|
||||
[attr yy_setColor:messageGiftColor range:[message.text rangeOfString:gift.gift_name]];
|
||||
}
|
||||
}
|
||||
}
|
||||
if (message.ToUserInfos.count > 0) {
|
||||
for (int i = 0; i < message.ToUserInfos.count; i++) {
|
||||
QXUserHomeModel*md = message.ToUserInfos[i];
|
||||
NSArray<NSValue *> *occurrences = findAllOccurrencesOfString(message.text, md.nickname);
|
||||
for (NSValue *rangeValue in occurrences) {
|
||||
NSRange range = [rangeValue rangeValue];
|
||||
[attr yy_setColor:messageNameColor range:range];
|
||||
}
|
||||
}
|
||||
}
|
||||
self.titleLabel.attributedText = attr;
|
||||
self.nameLabel.text = message.FromUserInfo.nickname;
|
||||
@@ -593,7 +668,7 @@ NSInteger maxMessageCount = 20;
|
||||
make.bottom.right.equalTo(self.headerImageView).offset(2);
|
||||
}];
|
||||
self.nameLabel = [[UILabel alloc] init];
|
||||
self.nameLabel.textColor = [UIColor whiteColor];
|
||||
self.nameLabel.textColor = RGB16(0xCCA882);
|
||||
self.nameLabel.font = [UIFont systemFontOfSize:12];
|
||||
[self.contentView addSubview:self.nameLabel];
|
||||
[self.nameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
@@ -752,13 +827,37 @@ NSInteger maxMessageCount = 20;
|
||||
|
||||
NSMutableAttributedString *attr = [[NSMutableAttributedString alloc] initWithString:message.text];
|
||||
if ([message.FromUserInfo.nickname isExist]) {
|
||||
[attr yy_setColor:RGB16(0xFFE309) range:[message.text rangeOfString:message.FromUserInfo.nickname]];
|
||||
[attr yy_setColor:messageNameColor range:[message.text rangeOfString:message.FromUserInfo.nickname]];
|
||||
}
|
||||
if ([message.ToUserInfo.nickname isExist]) {
|
||||
[attr yy_setColor:RGB16(0xFFE309) range:[message.text rangeOfString:message.ToUserInfo.nickname]];
|
||||
[attr yy_setColor:messageNameColor range:[message.text rangeOfString:message.ToUserInfo.nickname]];
|
||||
}
|
||||
if ([message.GiftInfo.gift_name isExist]) {
|
||||
[attr yy_setColor:RGB16(0x00C8FF) range:[message.text rangeOfString:message.GiftInfo.gift_name]];
|
||||
NSArray *arr = [message.GiftInfo.gift_name componentsSeparatedByString:@","];
|
||||
for (NSString*gift_name in arr) {
|
||||
NSArray<NSValue *> *occurrences = findAllOccurrencesOfString(message.text, gift_name);
|
||||
for (NSValue *rangeValue in occurrences) {
|
||||
NSRange range = [rangeValue rangeValue];
|
||||
[attr yy_setColor:messageGiftColor range:range];
|
||||
}
|
||||
}
|
||||
}
|
||||
if (message.GiftInfos.count > 0) {
|
||||
for (QXGiftModel*gift in message.GiftInfos) {
|
||||
if ([gift.gift_name isExist]) {
|
||||
[attr yy_setColor:messageGiftColor range:[message.text rangeOfString:gift.gift_name]];
|
||||
}
|
||||
}
|
||||
}
|
||||
if (message.ToUserInfos.count > 0) {
|
||||
for (int i = 0; i < message.ToUserInfos.count; i++) {
|
||||
QXUserHomeModel*md = message.ToUserInfos[i];
|
||||
NSArray<NSValue *> *occurrences = findAllOccurrencesOfString(message.text, md.nickname);
|
||||
for (NSValue *rangeValue in occurrences) {
|
||||
NSRange range = [rangeValue rangeValue];
|
||||
[attr yy_setColor:messageNameColor range:range];
|
||||
}
|
||||
}
|
||||
}
|
||||
self.titleLabel.attributedText = attr;
|
||||
}
|
||||
@@ -794,7 +893,9 @@ NSInteger maxMessageCount = 20;
|
||||
@implementation QXRoomChatListModel
|
||||
|
||||
+(NSDictionary<NSString *,id> *)modelContainerPropertyGenericClass{
|
||||
return @{@"GiftInfo" : @"QXGiftModel",
|
||||
return @{
|
||||
@"GiftInfo" : @"QXGiftModel",
|
||||
@"GiftInfos" : @"QXGiftModel",
|
||||
@"FromUserInfo":@"QXUserHomeModel",
|
||||
@"nextInfo":@"QXSongListModel",
|
||||
@"songInfo":@"QXSongListModel",
|
||||
|
||||
@@ -52,6 +52,8 @@ typedef NS_ENUM(NSInteger) {
|
||||
QXRoomSettingTypeRoomCloseEffects = 25,
|
||||
/// 意见反馈
|
||||
QXRoomSettingTypeRoomReport = 26,
|
||||
/// 关闭飘屏
|
||||
QXRoomSettingTypeDrifPop = 27,
|
||||
}QXRoomSettingType;
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
@class QXRoomSettingModel;
|
||||
|
||||
@@ -14,6 +14,8 @@
|
||||
#import "QXSingerConfigView.h"
|
||||
#import "QXRoomWelcomeView.h"
|
||||
#import "QXAlertView.h"
|
||||
#import "QXGiftDriftView.h"
|
||||
#import "QXMeetActivityDriftView.h"
|
||||
|
||||
@interface QXRoomSettingView()<UIGestureRecognizerDelegate,UITableViewDelegate,UITableViewDataSource,QXRoomSettingViewDelegate>
|
||||
@property (nonatomic,strong)UIView *bgView;
|
||||
@@ -69,6 +71,9 @@
|
||||
@property (nonatomic,strong)QXRoomSettingModel *roomEffects;
|
||||
/// 意见反馈
|
||||
@property (nonatomic,strong)QXRoomSettingModel *roomReport;
|
||||
/// 飘屏开关
|
||||
@property (nonatomic,strong)QXRoomSettingModel *drifPop;
|
||||
|
||||
|
||||
/// 主持列表
|
||||
@property (nonatomic,strong)QXDirectListView *directView;
|
||||
@@ -152,7 +157,9 @@
|
||||
self.roomOrderMic.isSelected = YES;
|
||||
}
|
||||
BOOL isEffectsCLose = [[NSUserDefaults standardUserDefaults] boolForKey:kEffectsCLose];
|
||||
BOOL isDrifPopCLose = [[NSUserDefaults standardUserDefaults] boolForKey:kIsCloseDrifPop];
|
||||
self.roomEffects.isSelected = isEffectsCLose;
|
||||
self.drifPop.isSelected = isDrifPopCLose;
|
||||
[self.tableView reloadData];
|
||||
}
|
||||
// isUpSeat true 麦上 false 麦下
|
||||
@@ -163,36 +170,18 @@
|
||||
switch (roleType) {
|
||||
// 主持
|
||||
case QXRoomRoleTypeCompere:{
|
||||
// if (isUpSeat) {
|
||||
// // 麦上 常用工具 更多操作
|
||||
// self.titles = @[QXText(@"常用工具"),QXText(@"更多操作")];
|
||||
// roomTypeArr = @[];
|
||||
// toolsArr = @[self.roomMessage,self.roomOrderMic,self.roomBgMusic];
|
||||
// moreArr = @[self.roomLeave,self.roomShare,self.roomVoiceSet,self.roomEffects,self.roomReport];
|
||||
// }else{
|
||||
// // 麦下 更多操作
|
||||
// self.titles = @[QXText(@"更多操作")];
|
||||
// roomTypeArr = @[];
|
||||
// toolsArr = @[];
|
||||
// moreArr = @[self.roomLeave,self.roomShare,self.roomVoiceSet,self.roomEffects,self.roomReport];
|
||||
// }
|
||||
// if (isUpSeat) {
|
||||
|
||||
// }else{
|
||||
// toolsArr = @[self.roomSubsidy,self.roomCompere,self.roomMessage,self.roomOrderMic,self.roomBgImage];
|
||||
// }
|
||||
if ((self.roomModel.room_info.type_id.intValue == 1 || self.roomModel.room_info.type_id.intValue == 3 || self.roomModel.room_info.type_id.intValue == 4 || self.roomModel.room_info.type_id.intValue == 8) && self.roomModel.room_info.label_id.intValue == 2) {
|
||||
toolsArr = @[self.roomSubsidy,self.roomMessage,self.roomOrderMic,self.roomBgImage];
|
||||
// roomTypeArr = @[self.roomTypeSing,self.roomTypeAuction,self.roomTypeBoy,self.roomTypeGirl,self.roomTypeFriend];
|
||||
roomTypeArr = @[self.roomTypeSing,self.roomTypeAuction,self.roomTypeFunny,self.roomTypeFriend];
|
||||
moreArr = @[self.roomLeave,self.roomVoiceSet,self.roomSetting,self.roomEffects,self.drifPop,self.roomReport];
|
||||
// roomTypeArr = @[self.roomTypeSing,self.roomTypeAuction,self.roomTypeBoy,self.roomTypeGirl,self.roomTypeFriend];
|
||||
// moreArr = @[self.roomLeave,self.roomShare,self.roomVoiceSet,self.roomSetting,self.roomWelcome,self.roomEffects,self.roomReport];
|
||||
moreArr = @[self.roomLeave,self.roomVoiceSet,self.roomSetting,self.roomEffects,self.roomReport];
|
||||
}else{
|
||||
toolsArr = @[self.roomSubsidy,self.roomMessage,self.roomOrderMic,self.roomBgMusic,self.roomBgImage];
|
||||
// roomTypeArr = @[self.roomTypeSing,self.roomTypeAuction,self.roomTypeBoy,self.roomTypeGirl,self.roomTypeFriend];
|
||||
roomTypeArr = @[self.roomTypeSing,self.roomTypeAuction,self.roomTypeFunny,self.roomTypeFriend];
|
||||
moreArr = @[self.roomLeave,self.roomVoiceSet,self.roomSetting,self.roomEffects,self.drifPop,self.roomReport];
|
||||
// roomTypeArr = @[self.roomTypeSing,self.roomTypeAuction,self.roomTypeBoy,self.roomTypeGirl,self.roomTypeFriend];
|
||||
// moreArr = @[self.roomLeave,self.roomShare,self.roomVoiceSet,self.roomSetting,self.roomWelcome,self.roomEffects,self.roomReport];
|
||||
moreArr = @[self.roomLeave,self.roomVoiceSet,self.roomSetting,self.roomEffects,self.roomReport];
|
||||
}
|
||||
|
||||
self.titles = @[QXText(@"房间类型"),QXText(@"常用工具"),QXText(@"更多操作")];
|
||||
@@ -202,7 +191,7 @@
|
||||
// 观众 更多操作 不区分麦上麦下
|
||||
roomTypeArr = @[];
|
||||
toolsArr = @[];
|
||||
moreArr = @[self.roomLeave,self.roomVoiceSet,self.roomEffects,self.roomReport];
|
||||
moreArr = @[self.roomLeave,self.roomVoiceSet,self.roomEffects,self.drifPop,self.roomReport];
|
||||
self.titles = @[QXText(@"更多操作")];
|
||||
}
|
||||
break;
|
||||
@@ -216,13 +205,13 @@
|
||||
if ((self.roomModel.room_info.type_id.intValue == 1 || self.roomModel.room_info.type_id.intValue == 3 || self.roomModel.room_info.type_id.intValue == 4 || self.roomModel.room_info.type_id.intValue == 8) && self.roomModel.room_info.label_id.intValue == 2) {
|
||||
toolsArr = @[self.roomSubsidy,self.roomCompere,self.roomMessage,self.roomOrderMic,self.roomBgImage];
|
||||
}else{
|
||||
toolsArr = @[self.roomSubsidy,self.roomCompere,self.roomMessage,self.roomOrderMic,self.roomBgMusic,self.roomBgImage];
|
||||
// toolsArr = @[self.roomSubsidy,self.roomCompere,self.roomMessage,self.roomOrderMic,self.roomBgMusic,self.roomBgImage];
|
||||
toolsArr = @[self.roomSubsidy,self.roomCompere,self.roomMessage,self.roomOrderMic,self.roomBgImage];
|
||||
}
|
||||
|
||||
// roomTypeArr = @[self.roomTypeSing,self.roomTypeAuction,self.roomTypeBoy,self.roomTypeGirl,self.roomTypeFriend];
|
||||
roomTypeArr = @[self.roomTypeSing,self.roomTypeAuction,self.roomTypeFunny,self.roomTypeFriend];
|
||||
moreArr = @[self.roomLeave,self.roomVoiceSet,self.roomSetting,self.roomEffects,self.drifPop,self.roomReport];
|
||||
// moreArr = @[self.roomLeave,self.roomShare,self.roomVoiceSet,self.roomSetting,self.roomWelcome,self.roomEffects,self.roomReport];
|
||||
moreArr = @[self.roomLeave,self.roomVoiceSet,self.roomSetting,self.roomEffects,self.roomReport];
|
||||
// roomTypeArr = @[self.roomTypeSing,self.roomTypeAuction,self.roomTypeBoy,self.roomTypeGirl,self.roomTypeFriend];
|
||||
self.titles = @[QXText(@"房间类型"),QXText(@"常用工具"),QXText(@"更多操作")];
|
||||
}
|
||||
break;
|
||||
@@ -236,12 +225,13 @@
|
||||
if ((self.roomModel.room_info.type_id.intValue == 1 || self.roomModel.room_info.type_id.intValue == 3 || self.roomModel.room_info.type_id.intValue == 4 || self.roomModel.room_info.type_id.intValue == 8) && self.roomModel.room_info.label_id.intValue == 2) {
|
||||
toolsArr = @[self.roomSubsidy,self.roomCompere,self.roomMessage,self.roomOrderMic,self.roomBgImage];
|
||||
}else{
|
||||
toolsArr = @[self.roomSubsidy,self.roomCompere,self.roomMessage,self.roomOrderMic,self.roomBgMusic,self.roomBgImage];
|
||||
// toolsArr = @[self.roomSubsidy,self.roomCompere,self.roomMessage,self.roomOrderMic,self.roomBgMusic,self.roomBgImage];
|
||||
toolsArr = @[self.roomSubsidy,self.roomCompere,self.roomMessage,self.roomOrderMic,self.roomBgImage];
|
||||
}
|
||||
// roomTypeArr = @[self.roomTypeSing,self.roomTypeAuction,self.roomTypeBoy,self.roomTypeGirl,self.roomTypeFriend];
|
||||
roomTypeArr = @[self.roomTypeSing,self.roomTypeAuction,self.roomTypeFunny,self.roomTypeFriend];
|
||||
// moreArr = @[self.roomLeave,self.roomShare,self.roomVoiceSet,self.roomSetting,self.roomWelcome,self.roomEffects,self.roomReport];
|
||||
moreArr = @[self.roomLeave,self.roomVoiceSet,self.roomSetting,self.roomEffects,self.roomReport];
|
||||
moreArr = @[self.roomLeave,self.roomVoiceSet,self.roomSetting,self.roomEffects,self.drifPop,self.roomReport];
|
||||
self.titles = @[QXText(@"房间类型"),QXText(@"常用工具"),QXText(@"更多操作")];
|
||||
}
|
||||
break;
|
||||
@@ -423,13 +413,13 @@
|
||||
return _roomTypeFriend;
|
||||
}
|
||||
-(QXRoomSettingModel *)roomTypeFunny{
|
||||
if (!_roomReport) {
|
||||
_roomReport = [[QXRoomSettingModel alloc] init];
|
||||
_roomReport.name = QXText(@"交友");
|
||||
_roomReport.type = QXRoomSettingTypeRoomTypeFunny;
|
||||
_roomReport.icon = @"room_set_room_type_funny";
|
||||
if (!_roomTypeFunny) {
|
||||
_roomTypeFunny = [[QXRoomSettingModel alloc] init];
|
||||
_roomTypeFunny.name = QXText(@"交友");
|
||||
_roomTypeFunny.type = QXRoomSettingTypeRoomTypeFunny;
|
||||
_roomTypeFunny.icon = @"room_set_room_type_funny";
|
||||
}
|
||||
return _roomReport;
|
||||
return _roomTypeFunny;
|
||||
}
|
||||
-(QXRoomSettingModel *)roomSubsidy{
|
||||
if (!_roomSubsidy) {
|
||||
@@ -560,6 +550,17 @@
|
||||
}
|
||||
return _roomReport;
|
||||
}
|
||||
-(QXRoomSettingModel *)drifPop{
|
||||
if (!_drifPop) {
|
||||
_drifPop = [[QXRoomSettingModel alloc] init];
|
||||
_drifPop.name = QXText(@"关闭飘屏");
|
||||
_drifPop.selName = QXText(@"开启飘屏");
|
||||
_drifPop.type = QXRoomSettingTypeDrifPop;
|
||||
_drifPop.icon = @"room_set_drif_pop_off";
|
||||
_drifPop.selIcon = @"room_set_drif_pop_on";
|
||||
}
|
||||
return _drifPop;
|
||||
}
|
||||
-(QXDirectListView *)directView{
|
||||
if (!_directView) {
|
||||
_directView = [[QXDirectListView alloc] init];
|
||||
@@ -653,6 +654,15 @@
|
||||
[[QXGiftPlayerManager shareManager] openOrCloseEffectViewWith:!model.isSelected];
|
||||
return;
|
||||
}
|
||||
if (model.type == QXRoomSettingTypeDrifPop) {
|
||||
model.isSelected = !model.isSelected;
|
||||
QXRoomSettingSubCell *cell = [collectionView cellForItemAtIndexPath:indexPath];
|
||||
cell.model = model;
|
||||
[[NSUserDefaults standardUserDefaults] setBool:model.isSelected forKey:kIsCloseDrifPop];
|
||||
[[QXGiftDriftView shareView] drifPopIsClose:model.isSelected];
|
||||
[[QXMeetActivityDriftView shareView] drifPopIsClose:model.isSelected];
|
||||
return;
|
||||
}
|
||||
if (model.type == QXRoomSettingTypeRoomOrderMic) {
|
||||
[QXMineNetwork roomChangeUpSeatTypeWithRoomId:self.roomId successBlock:^(NSDictionary * _Nonnull dict) {
|
||||
// model.isSelected = !model.isSelected;
|
||||
|
||||
@@ -50,6 +50,9 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
-(void)hideCharm;
|
||||
|
||||
-(void)destroyViews;
|
||||
|
||||
-(void)stopHWDMP4;
|
||||
-(void)playHWDMP4;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
||||
@@ -509,4 +509,10 @@
|
||||
self.micMp4View = nil;
|
||||
[self.micSvgaView destroySvga];
|
||||
}
|
||||
-(void)stopHWDMP4{
|
||||
[self.headerView stopHWDMP4];
|
||||
}
|
||||
-(void)playHWDMP4{
|
||||
[self.headerView playHWDMP4];
|
||||
}
|
||||
@end
|
||||
|
||||
@@ -27,7 +27,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
/// 设置麦位锁麦状态
|
||||
-(void)setSeatIsLock:(NSString*)isLock pitNumber:(NSString*)pitNumber;
|
||||
/// 房间内换麦
|
||||
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber;
|
||||
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber userInfo:(QXUserHomeModel*)userInfo;
|
||||
|
||||
/// pk开始
|
||||
-(void)pkStartWithPkEndTimes:(NSString *)pk_end_times pk_id:(NSString*)pk_id;
|
||||
@@ -42,7 +42,8 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
defeated_cover:(NSString*)defeated_cover;
|
||||
/// 房间内用户信息发生变化
|
||||
-(void)roomUserInfoDidChanged:(QXUserHomeModel *)user;
|
||||
|
||||
-(void)stopHWDMP4;
|
||||
-(void)playHWDMP4;
|
||||
-(void)destroyViews;
|
||||
@end
|
||||
/// 穿透视图
|
||||
|
||||
@@ -288,8 +288,8 @@
|
||||
}
|
||||
[self.leftSeatView didUpDownSeatWithUser:user isUpSeat:isUpSeat pit_number:pit_number];
|
||||
}
|
||||
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber{
|
||||
[self.leftSeatView roomSeatExchangedWithFromPitNumber:fromPitNumber toPitNumber:toPitNumber];
|
||||
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber userInfo:(QXUserHomeModel*)userInfo{
|
||||
[self.leftSeatView roomSeatExchangedWithFromPitNumber:fromPitNumber toPitNumber:toPitNumber userInfo:userInfo];
|
||||
}
|
||||
-(void)roomUserInfoDidChanged:(QXUserHomeModel *)user{
|
||||
[self.leftSeatView roomUserInfoDidChanged:user];
|
||||
@@ -297,6 +297,12 @@
|
||||
-(void)clearCharm{
|
||||
[self.leftSeatView clearCharm];
|
||||
}
|
||||
-(void)playHWDMP4{
|
||||
[self.leftSeatView playHWDMP4];
|
||||
}
|
||||
-(void)stopHWDMP4{
|
||||
[self.leftSeatView stopHWDMP4];
|
||||
}
|
||||
-(void)roomClearUserCharmWithUserId:(NSString *)userId{
|
||||
[self.leftSeatView roomClearUserCharmWithUserId:userId];
|
||||
}
|
||||
|
||||
@@ -39,7 +39,8 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
-(void)roomClearUserCharmWithUserId:(NSString *)userId;
|
||||
/// 房间内用户信息发生变化
|
||||
-(void)roomUserInfoDidChanged:(QXUserHomeModel *)user;
|
||||
|
||||
-(void)stopHWDMP4;
|
||||
-(void)playHWDMP4;
|
||||
-(void)destroyViews;
|
||||
@end
|
||||
|
||||
|
||||
@@ -1116,6 +1116,34 @@
|
||||
self.timeLabel.text = @"倒计时 00:00:00";
|
||||
}
|
||||
}
|
||||
-(void)stopHWDMP4{
|
||||
[self.auctionView stopHWDMP4];
|
||||
[self.compereView stopHWDMP4];
|
||||
for (UIView *contentView in self.seatArray) {
|
||||
if ([contentView isKindOfClass:[QXRoomAuctionSeatView class]]) {
|
||||
QXRoomAuctionSeatView *seatView = (QXRoomAuctionSeatView *)contentView;
|
||||
[seatView.seatView stopHWDMP4];
|
||||
}
|
||||
if ([contentView isKindOfClass:[QXRoomSeatContentView class]]) {
|
||||
QXRoomSeatContentView *seatView = (QXRoomSeatContentView *)contentView;
|
||||
[seatView stopHWDMP4];
|
||||
}
|
||||
}
|
||||
}
|
||||
-(void)playHWDMP4{
|
||||
[self.auctionView playHWDMP4];
|
||||
[self.compereView playHWDMP4];
|
||||
for (UIView *contentView in self.seatArray) {
|
||||
if ([contentView isKindOfClass:[QXRoomAuctionSeatView class]]) {
|
||||
QXRoomAuctionSeatView *seatView = (QXRoomAuctionSeatView *)contentView;
|
||||
[seatView.seatView playHWDMP4];
|
||||
}
|
||||
if ([contentView isKindOfClass:[QXRoomSeatContentView class]]) {
|
||||
QXRoomSeatContentView *seatView = (QXRoomSeatContentView *)contentView;
|
||||
[seatView playHWDMP4];
|
||||
}
|
||||
}
|
||||
}
|
||||
-(void)destroyViews{
|
||||
[self.auctionView destroyViews];
|
||||
[self.compereView destroyViews];
|
||||
|
||||
@@ -17,6 +17,8 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
-(void)cabinRoomHotValueDidChanged:(NSString*)hot_value;
|
||||
-(void)friendCabinRoomTimeDelayWithTime:(NSString*)end_time;
|
||||
-(void)friendCabinRoomIsQuit;
|
||||
-(void)stopHWDMP4;
|
||||
-(void)playHWDMP4;
|
||||
-(void)destroyViews;
|
||||
@end
|
||||
|
||||
|
||||
@@ -351,6 +351,14 @@
|
||||
[na popViewControllerAnimated:YES];
|
||||
}
|
||||
}
|
||||
-(void)stopHWDMP4{
|
||||
[self.leftSeatView stopHWDMP4];
|
||||
[self.rightSeatView stopHWDMP4];
|
||||
}
|
||||
-(void)playHWDMP4{
|
||||
[self.leftSeatView playHWDMP4];
|
||||
[self.rightSeatView playHWDMP4];
|
||||
}
|
||||
-(void)destroyViews{
|
||||
if (_leftSeatView) {
|
||||
[_leftSeatView destroyViews];
|
||||
|
||||
@@ -54,7 +54,9 @@ typedef NS_ENUM(NSInteger) {
|
||||
/// 用户信息发生改变
|
||||
-(void)roomUserInfoDidChanged:(QXUserHomeModel *)user;
|
||||
/// 房间内换麦
|
||||
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber;
|
||||
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber userInfo:(QXUserHomeModel*)userInfo;
|
||||
-(void)stopHWDMP4;
|
||||
-(void)playHWDMP4;
|
||||
/// 销毁视图
|
||||
-(void)destroyViews;
|
||||
@end
|
||||
|
||||
@@ -859,7 +859,7 @@
|
||||
contentView.pitModel = model;
|
||||
[self configGameOptionBtn];
|
||||
}
|
||||
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber{
|
||||
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber userInfo:(QXUserHomeModel*)userInfo{
|
||||
if (fromPitNumber == 0 || toPitNumber == 0) {
|
||||
return;
|
||||
}
|
||||
@@ -877,6 +877,9 @@
|
||||
|
||||
toSeatView.pitModel = fromPitModel;
|
||||
fromSeatView.pitModel = totModel;
|
||||
if ([userInfo.user_id isEqualToString:QXGlobal.shareGlobal.loginModel.user_id]) {
|
||||
self.myPitNumber = toPitNumber;
|
||||
}
|
||||
}
|
||||
}
|
||||
-(void)didClickUserHeaderWithPitModel:(QXRoomPitModel *)pitModel seatView:(QXRoomSeatContentView *)seatView{
|
||||
@@ -1332,7 +1335,22 @@
|
||||
return _successView;
|
||||
}
|
||||
|
||||
|
||||
-(void)stopHWDMP4{
|
||||
for (id object in self.allSeatViewArray) {
|
||||
if ([object isKindOfClass:[QXRoomSeatContentView class]]) {
|
||||
QXRoomSeatContentView *contentView = (QXRoomSeatContentView *)object;
|
||||
[contentView stopHWDMP4];
|
||||
}
|
||||
}
|
||||
}
|
||||
-(void)playHWDMP4{
|
||||
for (id object in self.allSeatViewArray) {
|
||||
if ([object isKindOfClass:[QXRoomSeatContentView class]]) {
|
||||
QXRoomSeatContentView *contentView = (QXRoomSeatContentView *)object;
|
||||
[contentView playHWDMP4];
|
||||
}
|
||||
}
|
||||
}
|
||||
-(void)destroyViews{
|
||||
for (id object in self.allSeatViewArray) {
|
||||
if ([object isKindOfClass:[QXRoomSeatContentView class]]) {
|
||||
|
||||
@@ -41,7 +41,10 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
-(void)roomUserInfoDidChanged:(QXUserHomeModel *)user;
|
||||
|
||||
/// 房间内换麦
|
||||
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber;
|
||||
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber userInfo:(QXUserHomeModel*)userInfo;
|
||||
|
||||
-(void)stopHWDMP4;
|
||||
-(void)playHWDMP4;
|
||||
|
||||
-(void)destroyViews;
|
||||
@end
|
||||
|
||||
@@ -361,7 +361,7 @@ static NSInteger maxSeat = 8;
|
||||
}
|
||||
}
|
||||
|
||||
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber{
|
||||
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber userInfo:(QXUserHomeModel*)userInfo{
|
||||
if (fromPitNumber == 0 || toPitNumber == 0) {
|
||||
return;
|
||||
}
|
||||
@@ -376,6 +376,9 @@ static NSInteger maxSeat = 8;
|
||||
|
||||
toSeatView.pitModel = fromPitModel;
|
||||
fromSeatView.pitModel = totModel;
|
||||
if ([userInfo.user_id isEqualToString:QXGlobal.shareGlobal.loginModel.user_id]) {
|
||||
self.myPitNumber = toPitNumber;
|
||||
}
|
||||
}
|
||||
|
||||
-(void)setSeatIsLock:(NSString *)isLock pitNumber:(NSString *)pitNumber{
|
||||
@@ -397,6 +400,16 @@ static NSInteger maxSeat = 8;
|
||||
}
|
||||
}
|
||||
}
|
||||
-(void)stopHWDMP4{
|
||||
for (QXRoomSeatContentView *seatView in self.seatArray) {
|
||||
[seatView stopHWDMP4];
|
||||
}
|
||||
}
|
||||
-(void)playHWDMP4{
|
||||
for (QXRoomSeatContentView *seatView in self.seatArray) {
|
||||
[seatView playHWDMP4];
|
||||
}
|
||||
}
|
||||
|
||||
-(void)destroyViews{
|
||||
for (QXRoomSeatContentView *seatView in self.seatArray) {
|
||||
|
||||
@@ -22,7 +22,8 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@property (nonatomic,strong)QXSongListModel *songInfo;
|
||||
@property (nonatomic,strong)QXSongListModel *nextInfo;
|
||||
|
||||
-(void)stopHWDMP4;
|
||||
-(void)playHWDMP4;
|
||||
-(void)destroyViews;
|
||||
|
||||
/// 清除魅力
|
||||
|
||||
@@ -790,6 +790,17 @@ QXRoomSeatDelegate
|
||||
[self.delegate sendGiftWithUser:self.singerSeatView.pitModel];
|
||||
}
|
||||
}
|
||||
-(void)stopHWDMP4{
|
||||
[self.singerSeatView stopHWDMP4];
|
||||
[self.guestView stopHWDMP4];
|
||||
[self.compereView stopHWDMP4];
|
||||
}
|
||||
-(void)playHWDMP4{
|
||||
[self.singerSeatView playHWDMP4];
|
||||
[self.guestView playHWDMP4];
|
||||
[self.compereView playHWDMP4];
|
||||
[self.collectionView reloadData];
|
||||
}
|
||||
-(void)destroyViews{
|
||||
[self.singerSeatView destroyViews];
|
||||
[self.guestView destroyViews];
|
||||
|
||||
@@ -44,6 +44,9 @@ typedef NS_ENUM(NSInteger) {
|
||||
@property (nonatomic,assign)double speakerPitch;
|
||||
@property (nonatomic,strong)QXSongListModel *songInfo;
|
||||
@property (nonatomic,strong)QXSongListModel *nextInfo;
|
||||
|
||||
-(void)stopHWDMP4;
|
||||
-(void)playHWDMP4;
|
||||
/// 销毁视图
|
||||
-(void)destroyViews;
|
||||
|
||||
@@ -62,7 +65,7 @@ typedef NS_ENUM(NSInteger) {
|
||||
/// 房间内用户信息发生变化
|
||||
-(void)roomUserInfoDidChanged:(QXUserHomeModel *)user;
|
||||
/// 房间内换麦
|
||||
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber;
|
||||
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber userInfo:(QXUserHomeModel*)userInfo;
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -909,13 +909,13 @@
|
||||
}
|
||||
}
|
||||
/// 房间内换麦
|
||||
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber{
|
||||
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber userInfo:(QXUserHomeModel*)userInfo{
|
||||
if (self.roomModel == nil) {
|
||||
return;
|
||||
}
|
||||
switch (self.type) {
|
||||
case QXRoomSeatViewTypeNormal:
|
||||
[self.normalSeatView roomSeatExchangedWithFromPitNumber:fromPitNumber toPitNumber:toPitNumber];
|
||||
[self.normalSeatView roomSeatExchangedWithFromPitNumber:fromPitNumber toPitNumber:toPitNumber userInfo:userInfo];
|
||||
break;
|
||||
case QXRoomSeatViewTypeSing:
|
||||
// [self.songView clearCharm];
|
||||
@@ -925,10 +925,10 @@
|
||||
case QXRoomSeatViewTypeCabin:
|
||||
break;
|
||||
case QXRoomSeatViewTypePK:
|
||||
[self.roomPkView roomSeatExchangedWithFromPitNumber:fromPitNumber toPitNumber:toPitNumber];
|
||||
[self.roomPkView roomSeatExchangedWithFromPitNumber:fromPitNumber toPitNumber:toPitNumber userInfo:userInfo];
|
||||
break;
|
||||
case QXRoomSeatViewTypeFriend:
|
||||
[self.roomFriendView roomSeatExchangedWithFromPitNumber:fromPitNumber toPitNumber:toPitNumber];
|
||||
[self.roomFriendView roomSeatExchangedWithFromPitNumber:fromPitNumber toPitNumber:toPitNumber userInfo:userInfo];
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -1292,7 +1292,54 @@
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
-(void)stopHWDMP4{
|
||||
switch (self.type) {
|
||||
case QXRoomSeatViewTypeNormal:
|
||||
[self.normalSeatView stopHWDMP4];
|
||||
break;
|
||||
case QXRoomSeatViewTypeSing:
|
||||
[self.songView stopHWDMP4];
|
||||
break;
|
||||
case QXRoomSeatViewTypeAuction:
|
||||
[self.auctionView stopHWDMP4];
|
||||
break;
|
||||
case QXRoomSeatViewTypeCabin:
|
||||
[self.cabinView stopHWDMP4];
|
||||
break;
|
||||
case QXRoomSeatViewTypePK:
|
||||
[self.roomPkView stopHWDMP4];
|
||||
break;
|
||||
case QXRoomSeatViewTypeFriend:
|
||||
[self.roomFriendView stopHWDMP4];
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
-(void)playHWDMP4{
|
||||
switch (self.type) {
|
||||
case QXRoomSeatViewTypeNormal:
|
||||
[self.normalSeatView playHWDMP4];
|
||||
break;
|
||||
case QXRoomSeatViewTypeSing:
|
||||
[self.songView playHWDMP4];
|
||||
break;
|
||||
case QXRoomSeatViewTypeAuction:
|
||||
[self.auctionView playHWDMP4];
|
||||
break;
|
||||
case QXRoomSeatViewTypeCabin:
|
||||
[self.cabinView playHWDMP4];
|
||||
break;
|
||||
case QXRoomSeatViewTypePK:
|
||||
[self.roomPkView playHWDMP4];
|
||||
break;
|
||||
case QXRoomSeatViewTypeFriend:
|
||||
[self.roomFriendView playHWDMP4];
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
-(void)destroyViews{
|
||||
if (_normalSeatView) {
|
||||
[self.normalSeatView destroyViews];
|
||||
|
||||
@@ -21,7 +21,8 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
-(void)setHeadIcon:(NSString*)headerIcon
|
||||
dress:(NSString*)dress;
|
||||
|
||||
-(void)stopHWDMP4;
|
||||
-(void)playHWDMP4;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
||||
@@ -14,6 +14,8 @@
|
||||
@property (nonatomic,strong) QXEffectSvgaView *svgaView;
|
||||
@property (nonatomic,strong) VAPView *mp4View;
|
||||
|
||||
@property (nonatomic,strong) NSString *dress;
|
||||
@property (nonatomic,strong) NSString *videoPath;
|
||||
@end
|
||||
@implementation QXSeatHeaderView
|
||||
- (instancetype)initWithCoder:(NSCoder *)coder
|
||||
@@ -62,6 +64,7 @@
|
||||
|
||||
-(void)setHeadIcon:(NSString *)headerIcon
|
||||
dress:(nonnull NSString *)dress{
|
||||
_dress = dress;
|
||||
NSString *dressUrl = [dress stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
|
||||
[self.headImageView sd_setImageWithURL:[NSURL URLWithString:headerIcon] placeholderImage:[UIImage imageNamed:@"user_header_placehoulder"]];
|
||||
if (dressUrl.length > 0 && ([dressUrl hasPrefix:@"http"] || [dressUrl hasPrefix:@"https"])) {
|
||||
@@ -79,6 +82,7 @@
|
||||
MJWeakSelf
|
||||
[[QXRequset shareInstance] downloadVideoPlayerWithUrl:dressUrl completion:^(BOOL result, NSString * _Nonnull fileName) {
|
||||
NSString *videoPath = [QXFileManager getGiftVideoPath:dressUrl.lastPathComponent];
|
||||
weakSelf.videoPath = videoPath;
|
||||
[weakSelf.mp4View playHWDMP4:videoPath repeatCount:INTMAX_MAX delegate:self];
|
||||
}];
|
||||
}else{
|
||||
@@ -100,6 +104,18 @@
|
||||
[self.mp4View setHidden:YES];
|
||||
}
|
||||
}
|
||||
-(void)stopHWDMP4{
|
||||
if (![_dress isExist]) {
|
||||
return;
|
||||
}
|
||||
[self.mp4View stopHWDMP4];
|
||||
}
|
||||
-(void)playHWDMP4{
|
||||
if (![_dress isExist]) {
|
||||
return;
|
||||
}
|
||||
[self.mp4View playHWDMP4:self.videoPath repeatCount:INTMAX_MAX delegate:self];
|
||||
}
|
||||
- (QXEffectSvgaView *)svgaView {
|
||||
if (!_svgaView) {
|
||||
_svgaView = [[QXEffectSvgaView alloc] initWithFrame:CGRectZero isAutoPlay:YES];
|
||||
@@ -110,7 +126,7 @@
|
||||
- (VAPView *)mp4View {
|
||||
if (!_mp4View) {
|
||||
_mp4View = [[VAPView alloc] initWithFrame:CGRectZero];
|
||||
_mp4View.hwd_enterBackgroundOP = HWDMP4EBOperationTypePauseAndResume;
|
||||
_mp4View.hwd_enterBackgroundOP = HWDMP4EBOperationTypeDoNothing;
|
||||
_mp4View.contentMode = UIViewContentModeScaleAspectFit;
|
||||
_mp4View.userInteractionEnabled = NO;
|
||||
_mp4View.backgroundColor = [UIColor clearColor];
|
||||
|
||||
@@ -243,13 +243,12 @@
|
||||
</label>
|
||||
<button opaque="NO" contentMode="scaleAspectFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="2cZ-D5-6Hl">
|
||||
<rect key="frame" x="149" y="92" width="95" height="95"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="95" id="E0s-s9-Z6c"/>
|
||||
<constraint firstAttribute="height" constant="95" id="ovf-44-Own"/>
|
||||
</constraints>
|
||||
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
|
||||
<state key="normal" backgroundImage="user_header_placehoulder"/>
|
||||
<state key="normal" backgroundImage="user_wait_header"/>
|
||||
<connections>
|
||||
<action selector="headerAction:" destination="-1" eventType="touchUpInside" id="e4n-2q-lEd"/>
|
||||
</connections>
|
||||
@@ -420,7 +419,7 @@
|
||||
<image name="login_sex_girl_nor" width="137" height="72"/>
|
||||
<image name="login_sex_girl_sel" width="137" height="72"/>
|
||||
<image name="random" width="24" height="24"/>
|
||||
<image name="user_header_placehoulder" width="40" height="40"/>
|
||||
<image name="user_wait_header" width="100" height="100"/>
|
||||
<systemColor name="systemBackgroundColor">
|
||||
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
</systemColor>
|
||||
|
||||
@@ -234,11 +234,11 @@
|
||||
|
||||
-(void)cancelAccount{
|
||||
[QXMineNetwork cancelAccountSuccessBlock:^(NSDictionary * _Nonnull dict) {
|
||||
|
||||
[[QXGlobal shareGlobal] logOut];
|
||||
} failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) {
|
||||
showToast(msg);
|
||||
}];
|
||||
[[QXGlobal shareGlobal] logOut];
|
||||
|
||||
}
|
||||
|
||||
-(QXMainHeaderView *)tableHeaderView{
|
||||
|
||||
@@ -29,12 +29,15 @@
|
||||
if (model.task_status.intValue == 1) {
|
||||
self.finishBtn.enabled = YES;
|
||||
self.finishBtn.selected = NO;
|
||||
self.finishBtn.layer.borderWidth = 1;
|
||||
}else if (model.task_status.intValue == 2) {
|
||||
self.finishBtn.enabled = YES;
|
||||
self.finishBtn.selected = YES;
|
||||
self.finishBtn.layer.borderWidth = 1;
|
||||
}else{
|
||||
self.finishBtn.selected = NO;
|
||||
self.finishBtn.enabled = NO;
|
||||
self.finishBtn.layer.borderWidth = 0;
|
||||
}
|
||||
}
|
||||
- (IBAction)finishAction:(id)sender {
|
||||
@@ -61,6 +64,11 @@
|
||||
// Initialization code
|
||||
[self.finishBtn addRoundedCornersWithRadius:15];
|
||||
[self.finishBtn setTitleColor:RGB16(0xC134EE) forState:(UIControlStateNormal)];
|
||||
[self.finishBtn setTitleColor:UIColor.whiteColor forState:(UIControlStateSelected)];
|
||||
[self.finishBtn setTitleColor:RGB16(0x666666) forState:(UIControlStateDisabled)];
|
||||
[self.finishBtn setBackgroundImage:[UIImage imageWithColor:RGB16(0xC134EE)] forState:(UIControlStateSelected)];
|
||||
[self.finishBtn setBackgroundImage:[UIImage imageWithColor:UIColor.clearColor] forState:(UIControlStateNormal)];
|
||||
[self.finishBtn setBackgroundImage:[UIImage imageWithColor:RGB16(0xF1F2F3)] forState:(UIControlStateDisabled)];
|
||||
self.finishBtn.layer.borderColor = RGB16(0xC134EE).CGColor;
|
||||
self.finishBtn.layer.borderWidth = 1;
|
||||
}
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
<color key="titleColor" red="0.88627450980392153" green="0.25490196078431371" blue="0.44313725490196076" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/>
|
||||
</state>
|
||||
<state key="disabled" title="已领取"/>
|
||||
<state key="selected" title="领取"/>
|
||||
<state key="selected" title="待领取"/>
|
||||
<connections>
|
||||
<action selector="finishAction:" destination="KGk-i7-Jjw" eventType="touchUpInside" id="O2a-NK-IEM"/>
|
||||
</connections>
|
||||
|
||||
@@ -52,6 +52,7 @@
|
||||
self.titleLabel.numberOfLines = 2;
|
||||
self.titleLabel.textColor = RGB16(0x999999);
|
||||
self.titleLabel.text = QXText(@"尊敬的用户,每月可修改2次,剩余2次 使用头像卡不限更换次数,还剩0张");
|
||||
self.titleLabel.hidden = YES;
|
||||
[self.bgView addSubview:self.titleLabel];
|
||||
|
||||
self.headerView = [[QXSeatHeaderView alloc] initWithFrame:CGRectMake((self.width-104)/2, self.bgView.top-52, 104, 104)];
|
||||
|
||||
|
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 979 B After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 3.8 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 46 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 7.2 KiB |
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 3.8 KiB |
|
Before Width: | Height: | Size: 7.4 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 52 KiB |
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 3.8 KiB |
|
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 7.7 KiB |
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 7.2 KiB |
|
Before Width: | Height: | Size: 8.3 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 7.4 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 330 KiB After Width: | Height: | Size: 736 KiB |
|
Before Width: | Height: | Size: 300 KiB |
22
QXLive/Other/Assets.xcassets/home/room/room_set_drif_pop_off.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_set_drif_pop_off@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_set_drif_pop_off@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
BIN
QXLive/Other/Assets.xcassets/home/room/room_set_drif_pop_off.imageset/room_set_drif_pop_off@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
QXLive/Other/Assets.xcassets/home/room/room_set_drif_pop_off.imageset/room_set_drif_pop_off@3x.png
vendored
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
22
QXLive/Other/Assets.xcassets/home/room/room_set_drif_pop_on.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_set_drif_pop_on@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_set_drif_pop_on@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
BIN
QXLive/Other/Assets.xcassets/home/room/room_set_drif_pop_on.imageset/room_set_drif_pop_on@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
QXLive/Other/Assets.xcassets/home/room/room_set_drif_pop_on.imageset/room_set_drif_pop_on@3x.png
vendored
Normal file
|
After Width: | Height: | Size: 5.7 KiB |
@@ -5,12 +5,11 @@
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "启动图标 1@2x.png",
|
||||
"filename" : "iPadProApp_83.5pt@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "启动图标 1@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
|
||||
BIN
QXLive/Other/Assets.xcassets/login/login_logo.imageset/iPadProApp_83.5pt@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 46 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 51 KiB |
@@ -5,11 +5,12 @@
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "app_start_midi@2x.png",
|
||||
"filename" : "user_wait_header@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "user_wait_header@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
BIN
QXLive/Other/Assets.xcassets/login/user_wait_header.imageset/user_wait_header@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
QXLive/Other/Assets.xcassets/login/user_wait_header.imageset/user_wait_header@3x.png
vendored
Normal file
|
After Width: | Height: | Size: 23 KiB |
@@ -5,12 +5,12 @@
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "image 367@2x.png",
|
||||
"filename" : "Frame@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "image 367@3x.png",
|
||||
"filename" : "Frame@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
|
||||
BIN
QXLive/Other/Assets.xcassets/mine/mine_redbag.imageset/Frame@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
QXLive/Other/Assets.xcassets/mine/mine_redbag.imageset/Frame@3x.png
vendored
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 4.2 KiB |
@@ -5,12 +5,12 @@
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "Headphone@2x.png",
|
||||
"filename" : "Frame@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "Headphone@3x.png",
|
||||
"filename" : "Frame@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
|
||||
BIN
QXLive/Other/Assets.xcassets/mine/mine_service.imageset/Frame@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
QXLive/Other/Assets.xcassets/mine/mine_service.imageset/Frame@3x.png
vendored
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 2.1 KiB |
@@ -5,12 +5,12 @@
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "Frame 1414@2x.png",
|
||||
"filename" : "Setting@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "Frame 1414@3x.png",
|
||||
"filename" : "Setting@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 2.6 KiB |
BIN
QXLive/Other/Assets.xcassets/mine/mine_setting.imageset/Setting@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
QXLive/Other/Assets.xcassets/mine/mine_setting.imageset/Setting@3x.png
vendored
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 26 KiB |
@@ -17,17 +17,17 @@
|
||||
<rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="app_start_midi" translatesAutoresizingMaskIntoConstraints="NO" id="ydi-6i-HE8">
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="app_start_midi1" translatesAutoresizingMaskIntoConstraints="NO" id="hqu-R6-SdT">
|
||||
<rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
|
||||
</imageView>
|
||||
</subviews>
|
||||
<viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||
<constraints>
|
||||
<constraint firstItem="ydi-6i-HE8" firstAttribute="leading" secondItem="6Tk-OE-BBY" secondAttribute="leading" id="1rA-wz-hiM"/>
|
||||
<constraint firstAttribute="bottom" secondItem="ydi-6i-HE8" secondAttribute="bottom" id="AzB-c2-eXR"/>
|
||||
<constraint firstItem="ydi-6i-HE8" firstAttribute="top" secondItem="Ze5-6b-2t3" secondAttribute="top" id="FjI-0Z-nXt"/>
|
||||
<constraint firstItem="6Tk-OE-BBY" firstAttribute="trailing" secondItem="ydi-6i-HE8" secondAttribute="trailing" id="zbF-rX-0c0"/>
|
||||
<constraint firstItem="6Tk-OE-BBY" firstAttribute="trailing" secondItem="hqu-R6-SdT" secondAttribute="trailing" id="A1s-xW-hc2"/>
|
||||
<constraint firstItem="hqu-R6-SdT" firstAttribute="leading" secondItem="6Tk-OE-BBY" secondAttribute="leading" id="DEx-vf-cVq"/>
|
||||
<constraint firstItem="hqu-R6-SdT" firstAttribute="top" secondItem="Ze5-6b-2t3" secondAttribute="top" id="T86-lh-1Y6"/>
|
||||
<constraint firstAttribute="bottom" secondItem="hqu-R6-SdT" secondAttribute="bottom" id="bif-kS-kQA"/>
|
||||
</constraints>
|
||||
</view>
|
||||
</viewController>
|
||||
@@ -37,7 +37,7 @@
|
||||
</scene>
|
||||
</scenes>
|
||||
<resources>
|
||||
<image name="app_start_midi" width="375" height="812"/>
|
||||
<image name="app_start_midi1" width="375" height="812"/>
|
||||
<systemColor name="systemBackgroundColor">
|
||||
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
</systemColor>
|
||||
|
||||
@@ -102,6 +102,9 @@ static NSString *const kEffectsCLose = @"kEffectsCLose";
|
||||
static NSString *const kIsOpenRecharge = @"kIsOpenRecharge";
|
||||
/// 是否开启青少年模式
|
||||
static NSString *const kChirldLocalPassword = @"kChirldLocalPassword";
|
||||
/// 是否开启飘屏
|
||||
static NSString *const kIsCloseDrifPop = @"kIsCloseDrifPop";
|
||||
|
||||
|
||||
// 微信登录
|
||||
static NSString *const noticeWeChatLogin = @"noticeWeChatLogin";
|
||||
|
||||
BIN
QXLive/Other/app_start_midi1.png
Normal file
|
After Width: | Height: | Size: 448 KiB |
@@ -15,6 +15,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
@property (nonatomic,strong)QXGiftScrollModel *model;
|
||||
-(void)addGiftModel:(QXGiftScrollModel*)model;
|
||||
-(void)addGiftModelList:(NSArray<QXGiftScrollModel*>*)list;
|
||||
-(void)drifPopIsClose:(BOOL)isClose;
|
||||
+(instancetype)shareView;
|
||||
@end
|
||||
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
@property (nonatomic,strong)UIImageView *giftImageView;
|
||||
@property (nonatomic,strong)UILabel *countLabel;
|
||||
@property (nonatomic,assign)BOOL isPlaying;
|
||||
@property (nonatomic,assign)BOOL isClose;
|
||||
@end
|
||||
@implementation QXGiftDriftView
|
||||
+(instancetype)shareView{
|
||||
@@ -29,6 +30,8 @@
|
||||
if (self) {
|
||||
self.frame = CGRectMake(SCREEN_WIDTH, 150, ScaleWidth(316), ScaleWidth(50));
|
||||
[self initSubviews];
|
||||
BOOL isClose = [[NSUserDefaults standardUserDefaults] boolForKey:kIsCloseDrifPop];
|
||||
self.isClose = isClose;
|
||||
}
|
||||
return self;
|
||||
}
|
||||
@@ -67,6 +70,9 @@
|
||||
}];
|
||||
}
|
||||
-(void)addGiftModel:(QXGiftScrollModel *)model{
|
||||
if (self.isClose) {
|
||||
return;
|
||||
}
|
||||
[self.dataArray addObject:model];
|
||||
[self giftAction];
|
||||
}
|
||||
@@ -109,7 +115,18 @@
|
||||
[self.giftImageView sd_setImageWithURL:[NSURL URLWithString:model.gift_picture]];
|
||||
self.countLabel.text = [NSString stringWithFormat:@"X%@",model.number];
|
||||
}
|
||||
|
||||
-(void)drifPopIsClose:(BOOL)isClose{
|
||||
_isClose = isClose;
|
||||
self.hidden = self.isClose;
|
||||
[[NSUserDefaults standardUserDefaults] setBool:isClose forKey:kIsCloseDrifPop];
|
||||
[[NSUserDefaults standardUserDefaults] synchronize];
|
||||
if (isClose) {
|
||||
[QXGiftDriftView shareView].x = SCREEN_WIDTH;
|
||||
[[QXGiftDriftView shareView] removeFromSuperview];
|
||||
[[QXGiftDriftView shareView].dataArray removeAllObjects];
|
||||
[QXGiftDriftView shareView].isPlaying = NO;
|
||||
}
|
||||
}
|
||||
-(NSMutableArray *)dataArray{
|
||||
if (!_dataArray) {
|
||||
_dataArray = [NSMutableArray array];
|
||||
|
||||
@@ -22,6 +22,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
@property (nonatomic,strong)NSMutableArray *dataArray;
|
||||
@property (nonatomic,strong)QXMeetActivityDriftModel *model;
|
||||
-(void)addActivityModel:(QXMeetActivityDriftModel*)model;
|
||||
-(void)drifPopIsClose:(BOOL)isClose;
|
||||
+(instancetype)shareView;
|
||||
@end
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
#import "QXMeetActivityDriftView.h"
|
||||
@interface QXMeetActivityDriftView()
|
||||
@property (nonatomic,assign)BOOL isPlaying;
|
||||
@property (nonatomic,assign)BOOL isClose;
|
||||
@end
|
||||
|
||||
@implementation QXMeetActivityDriftView
|
||||
@@ -17,6 +18,8 @@
|
||||
self = [super init];
|
||||
if (self) {
|
||||
self.frame = CGRectMake(SCREEN_WIDTH, 0, ScaleWidth(358), ScaleWidth(136));
|
||||
BOOL isClose = [[NSUserDefaults standardUserDefaults] boolForKey:kIsCloseDrifPop];
|
||||
self.isClose = isClose;
|
||||
[self initSubviews];
|
||||
}
|
||||
return self;
|
||||
@@ -58,6 +61,9 @@
|
||||
}];
|
||||
}
|
||||
-(void)addActivityModel:(QXMeetActivityDriftModel *)model{
|
||||
if (self.isClose) {
|
||||
return;
|
||||
}
|
||||
[self.dataArray addObject:model];
|
||||
[self giftAction];
|
||||
}
|
||||
@@ -111,7 +117,18 @@
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
-(void)drifPopIsClose:(BOOL)isClose{
|
||||
_isClose = isClose;
|
||||
self.hidden = self.isClose;
|
||||
[[NSUserDefaults standardUserDefaults] setBool:isClose forKey:kIsCloseDrifPop];
|
||||
[[NSUserDefaults standardUserDefaults] synchronize];
|
||||
if (isClose) {
|
||||
[QXMeetActivityDriftView shareView].x = SCREEN_WIDTH;
|
||||
[[QXMeetActivityDriftView shareView] removeFromSuperview];
|
||||
[[QXMeetActivityDriftView shareView].dataArray removeAllObjects];
|
||||
[QXMeetActivityDriftView shareView].isPlaying = NO;
|
||||
}
|
||||
}
|
||||
|
||||
-(NSMutableArray *)dataArray{
|
||||
if (!_dataArray) {
|
||||
|
||||
@@ -7,13 +7,15 @@
|
||||
|
||||
#import "QXMeetLotteryView.h"
|
||||
#import <objc/runtime.h>
|
||||
#import "GKCycleScrollView.h"
|
||||
|
||||
@interface QXMeetLotteryView ()<UIScrollViewDelegate>
|
||||
@interface QXMeetLotteryView ()<UIScrollViewDelegate,GKCycleScrollViewDataSource,GKCycleScrollViewDelegate>
|
||||
@property (nonatomic, strong) UIScrollView *scrollView;
|
||||
@property (nonatomic, assign) CGFloat itemWidth;
|
||||
@property (nonatomic, assign) CGFloat itemSpace;
|
||||
@property (nonatomic, assign) CGFloat targetOffset;
|
||||
@property (nonatomic, assign) CGFloat maxWidth;
|
||||
@property (nonatomic, strong) QXTimer *timer;
|
||||
@end
|
||||
|
||||
@implementation QXMeetLotteryView
|
||||
@@ -33,7 +35,8 @@
|
||||
self.scrollView.delegate = self;
|
||||
self.scrollView.showsHorizontalScrollIndicator = NO;
|
||||
self.scrollView.showsVerticalScrollIndicator = NO;
|
||||
self.scrollView.scrollEnabled = NO;
|
||||
self.scrollView.scrollEnabled = YES;
|
||||
self.scrollView.hidden = YES;
|
||||
self.scrollView.decelerationRate = UIScrollViewDecelerationRateFast;
|
||||
[self addSubview:self.scrollView];
|
||||
_itemSpace = 25;
|
||||
@@ -73,6 +76,7 @@
|
||||
}
|
||||
|
||||
-(void)startLotteryAnimation{
|
||||
self.scrollView.hidden = NO;
|
||||
[self.scrollView setContentOffset:CGPointZero animated:NO];
|
||||
MJWeakSelf
|
||||
[UIView animateWithDuration:6 delay:0 options:UIViewAnimationOptionCurveEaseInOut animations:^{
|
||||
|
||||