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