123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313 |
- //
- // YOUPAIZYChatRoomMoreWindow.m
- // VQU
- //
- // Created by CY on 2021/11/2.
- // Copyright © 2021 MS. All rights reserved.
- //
- #import "YOUPAIZYChatRoomMoreWindow.h"
- #define kRowMarge 12.0f
- #define kRowHeight 60.0f
- #define KColCount 4
- @interface YOUPAIZYChatRoomMoreWindow ()
- @property (nonatomic, strong) NSMutableArray <NSMutableDictionary *>*youpaipdataSource;
- @property (nonatomic, strong) NSMutableArray <NSMutableDictionary *>*youpaipplayTypes; // 玩法类型
- @property (nonatomic, strong) YOUPAILZChatRoomModel *youpaipchatroomModel;
- @property (nonatomic,strong) YOUPAILZChatRoomMoreModel *youpaipmoreModel;
- @end
- @implementation YOUPAIZYChatRoomMoreWindow
- - (instancetype)initWithModel:(YOUPAILZChatRoomModel *)youpaipchatroomModel youpaipmoreModel:(nonnull YOUPAILZChatRoomMoreModel *)youpaipmoreModel{
- if (self = [super init]) {
- self.youpaipmoreModel = youpaipmoreModel;
- self.youpaipchatroomModel = youpaipchatroomModel;
- [self youpaifinitValue];
- }
- return self;
- }
- - (void)youpaifinitValue{
- self.youpaipdataSource = [NSMutableArray array];
-
- if (self.youpaipchatroomModel.youpaipuserInfo.youpaifroleType != LZUserRoleTypeWithNormal) {
- [self.youpaipdataSource addObject:@{
- @"title":@"礼物动画",@"selTitle":@"礼物动画",@"image":[UIImage imageNamed:@"vqu_images_chatroom_closeanimation"],@"selImage":[UIImage imageNamed:@"vqu_images_chatroom_openanimation"],@"type":@(LZChatRoomOperationTypeWithAnimation),@"selected":@(self.youpaipmoreModel.youpaipisCloseAnimation)
- }.mutableCopy];
- [self.youpaipdataSource addObject:@{
- @"title":@"自由麦序",@"selTitle":@"关闭自由麦序",@"image":[UIImage imageNamed:@"vqu_images_chatroom_freeseat"],@"selImage":[UIImage imageNamed:@"vqu_images_chatroom_closefreeseat"],@"type":@(LZChatRoomOperationTypeWithFreeSeat),@"selected":@(self.youpaipmoreModel.youpaipisSeatFree)
- }.mutableCopy];
- [self.youpaipdataSource addObject:@{
- @"title":@"清空公屏",@"selTitle":@"清空公屏",@"image":[UIImage imageNamed:@"vqu_images_chatroom_emptychat"],@"selImage":[UIImage imageNamed:@"vqu_images_chatroom_emptychat"],@"type":@(LZChatRoomOperationTypeWithEmptyChat),@"selected":@(NO)
- }.mutableCopy];
- [self.youpaipdataSource addObject:@{
- @"title":@"关闭公屏",@"selTitle":@"开启公屏",@"image":[UIImage imageNamed:@"vqu_images_chatroom_closechat"],@"selImage":[UIImage imageNamed:@"vqu_images_chatroom_openchat"],@"type":@(LZChatRoomOperationTypeWithCloseChat),@"selected":@(self.youpaipmoreModel.youpaipisCloseChatMessage)
- }.mutableCopy];
- [self.youpaipdataSource addObject:@{
- @"title":@"房间上锁",@"selTitle":@"房间解锁",@"image":[UIImage imageNamed:@"vqu_images_chatroom_roomlock"],@"selImage":[UIImage imageNamed:@"vqu_images_chatroom_roomunlock"],@"type":@(LZChatRoomOperationTypeWithRoomLock),@"selected":@(self.youpaipmoreModel.youpaipisLock)
- }.mutableCopy];
- [self.youpaipdataSource addObject:@{
- @"title":@"房间资料",@"selTitle":@"房间资料",@"image":[UIImage imageNamed:@"vqu_images_chatroom_roominfo"],@"selImage":[UIImage imageNamed:@"vqu_images_chatroom_roominfo"],@"type":@(LZChatRoomOperationTypeWithRoomInfo),@"selected":@(NO)
- }.mutableCopy];
- [self.youpaipdataSource addObject:@{
- @"title":@"房间背景",@"selTitle":@"房间背景",@"image":[UIImage imageNamed:@"vqu_images_chatroom_bg_image"],@"selImage":[UIImage imageNamed:@"vqu_images_chatroom_bg_image"],@"type":@(LZChatRoomOperationTypeWithBackgoundImage),@"selected":@(NO)
- }.mutableCopy];
- [self.youpaipdataSource addObject:@{
- @"title":@"禁言管理",@"selTitle":@"禁言管理",@"image":[UIImage imageNamed:@"vqu_images_chatroom_disable_send_message_manage"],@"selImage":[UIImage imageNamed:@"vqu_images_chatroom_disable_send_message_manage"],@"type":@(LZChatRoomOperationTypeWithDisableMessage),@"selected":@(NO)
- }.mutableCopy];
- [self.youpaipdataSource addObject:@{
- @"title":@"房间黑名单",@"selTitle":@"房间黑名单",@"image":[UIImage imageNamed:@"vqu_images_chatroom_roomblocklist"],@"selImage":[UIImage imageNamed:@"vqu_images_chatroom_roomblocklist"],@"type":@(LZChatRoomOperationTypeWithRoomBlockList),@"selected":@(NO)
- }.mutableCopy];
- [self.youpaipdataSource addObject:@{
- @"title":@"静音",@"selTitle":@"静音",@"image":[UIImage imageNamed:@"vqu_images_chatroom_openmute"],@"selImage":[UIImage imageNamed:@"vqu_images_chatroom_closemute"],@"type":@(LZChatRoomOperationTypeWithMute),@"selected":@(self.youpaipmoreModel.youpaipisRemoteAudio)
- }.mutableCopy];
- if([self.youpaipchatroomModel.youpaiphostSeat.youpaipuserInfo.youpaipid isEqual:self.youpaipchatroomModel.youpaipuserInfo.youpaipid]){
- [self.youpaipdataSource addObject:@{
- @"title":@"音乐",@"selTitle":@"音乐",@"image":[UIImage imageNamed:@"vqu_images_chatroom_bg_music"],@"selImage":[UIImage imageNamed:@"vqu_images_chatroom_bg_music"],@"type":@(LZChatRoomOperationTypeWithBgMusic),@"selected":@(NO)
- }.mutableCopy];
-
-
- [self youpaifinitPlayTypes];
- }
- }else{
- [self.youpaipdataSource addObject:@{
- @"title":@"礼物动画",@"selTitle":@"礼物动画",@"image":[UIImage imageNamed:@"vqu_images_chatroom_closeanimation"],@"selImage":[UIImage imageNamed:@"vqu_images_chatroom_openanimation"],@"type":@(LZChatRoomOperationTypeWithAnimation),@"selected":@(self.youpaipmoreModel.youpaipisCloseAnimation)
- }.mutableCopy];
- [self.youpaipdataSource addObject:@{
- @"title":@"举报",@"selTitle":@"举报",@"image":[UIImage imageNamed:@"vqu_images_chatroom_report"],@"selImage":[UIImage imageNamed:@"vqu_images_chatroom_report"],@"type":@(LZChatRoomOperationTypeWithReport),@"selected":@(NO)
- }.mutableCopy];
- [self.youpaipdataSource addObject:@{
- @"title":@"静音",@"selTitle":@"静音",@"image":[UIImage imageNamed:@"vqu_images_chatroom_openmute"],@"selImage":[UIImage imageNamed:@"vqu_images_chatroom_closemute"],@"type":@(LZChatRoomOperationTypeWithMute),@"selected":@(self.youpaipmoreModel.youpaipisRemoteAudio)
- }.mutableCopy];
- }
-
- }
- - (void)youpaifinitPlayTypes{
- self.youpaipplayTypes = [NSMutableArray array];
-
- [self.youpaipplayTypes addObject:@{
- @"title":@"开启心动值",@"selTitle":@"关闭心动值",@"image":[UIImage imageNamed:@"vqu_image_chatroom_cardiac_open"],@"selImage":[UIImage imageNamed:@"vqu_image_chatroom_cardiac_close"],@"type":@(LZChatRoomOperationTypeWithCardiac),@"selected":@(self.youpaipmoreModel.youpaipisOpenCardiac)
- }.mutableCopy];
-
- if (self.youpaipchatroomModel.youpaipplayType == LZChatRoomPlayTypeWithCardiac) {
- [self.youpaipplayTypes addObject:@{
- @"title":@"清空心动值",@"selTitle":@"清空心动值",@"image":[UIImage imageNamed:@"vqu_image_chatroom_clear_cardiac"],@"selImage":[UIImage imageNamed:@"vqu_image_chatroom_clear_cardiac"],@"type":@(LZChatRoomOperationTypeWithClearCardiac),@"selected":@(NO)
- }.mutableCopy];
- }
-
- [self.youpaipplayTypes addObject:@{
- @"title":@"开启相亲",@"selTitle":@"关闭相亲",@"image":[UIImage imageNamed:@"vqu_image_chatroom_blinddata_open"],@"selImage":[UIImage imageNamed:@"vqu_image_chatroom_blinddata_close"],@"type":@(LZChatRoomOperationTypeWithBlindDate),@"selected":@(self.youpaipmoreModel.youpaipisOpenBlindDate)
- }.mutableCopy];
-
- }
- - (void)viewDidLoad {
- [super viewDidLoad];
- self.baseView.hidden = YES;
-
- [self youpaifinitUI];
- }
- - (void)youpaifinitUI{
- UIView *bgV = [[UIView alloc] initWithFrame:CGRectMake(0, 0, KScreenWidth, self.youpaiftotalHeight)];
- bgV.backgroundColor = HexColorFromRGB(0x2A2935);
- [self.view addSubview:bgV];
- [bgV mas_makeConstraints:^(MASConstraintMaker *make) {
- make.left.right.bottom.offset(0.0f);
- make.height.offset(self.youpaiftotalHeight);
- }];
- [LCTools clipCorner:UIRectCornerTopLeft|UIRectCornerTopRight View:bgV size:CGSizeMake(20.0f, 20.0f)];
-
- CGFloat curHeight = 0.0f;
-
- if (self.youpaipplayTypes.count != 0) {
- UIView *headerV = [[UIView alloc] init];
- [bgV addSubview:headerV];
- [headerV mas_makeConstraints:^(MASConstraintMaker *make) {
- make.left.right.top.offset(0.0f);
- make.height.offset(49.0f);
- }];
- UILabel *titleL = [[UILabel alloc] init];
- titleL.text = @"房间玩法";
- titleL.textColor = [UIColor whiteColor];
- titleL.font = LCBoldFont(17.0f);
- [headerV addSubview:titleL];
- [titleL mas_makeConstraints:^(MASConstraintMaker *make) {
- make.left.offset(14.0f);
- make.centerY.equalTo(headerV);
- }];
- UIView *playTpyeBgV = [[UIView alloc] init];
- [bgV addSubview:playTpyeBgV];
- [playTpyeBgV mas_makeConstraints:^(MASConstraintMaker *make) {
- make.top.equalTo(headerV.mas_bottom).offset(0.0f);
- make.left.right.offset(0.0f);
- make.height.offset(self.youpaifplayTypeHeight);
- }];
-
- NSInteger colCount = KColCount;
- for (NSInteger i = 0; i < self.youpaipplayTypes.count; i ++) {
- NSInteger col = i % colCount;
- NSInteger row = i / colCount;
- CGFloat width = KScreenWidth / colCount;
- NSDictionary *dict = self.youpaipplayTypes[i];
- UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
- btn.frame = CGRectMake(col * width, row * kRowHeight + row * kRowMarge, width, kRowHeight);
- btn.tag = i;
- [btn addTarget:self action:@selector(youpaifplayTypeBtnClick:) forControlEvents:UIControlEventTouchUpInside];
- [playTpyeBgV addSubview:btn];
- UIImageView *imageV = [[UIImageView alloc] initWithFrame:CGRectMake((width - 42.0f) / 2.0f, 0, 42.0f, 42.0f)];
- imageV.tag = 8888;
- imageV.image = dict[@"image"];
- [btn addSubview:imageV];
- UILabel *lab = [[UILabel alloc] initWithFrame:CGRectMake(0.0f, imageV.mj_h + 5.0f, btn.mj_w, btn.mj_h - (imageV.mj_h + 5.0f))];
- lab.tag = 9999;
- lab.font = LCFont(11.0f);
- lab.textColor = HexColorFromRGB(0xAAAAAA);
- lab.textAlignment = NSTextAlignmentCenter;
- lab.text = dict[@"title"];
- [btn addSubview:lab];
- if ([dict[@"selected"] boolValue]) {
- imageV.image = dict[@"selImage"];
- lab.text = dict[@"selTitle"];
- btn.selected = [dict[@"selected"] boolValue];
- }
- }
- curHeight += 49.0f + self.youpaifplayTypeHeight;
- }
-
- UIView *headerV = [[UIView alloc] init];
- [bgV addSubview:headerV];
- [headerV mas_makeConstraints:^(MASConstraintMaker *make) {
- make.left.right.offset(0.0f);
- make.top.offset(curHeight);
- make.height.offset(49.0f);
- }];
- UILabel *titleL = [[UILabel alloc] init];
- titleL.text = @"房间设置";
- titleL.textColor = [UIColor whiteColor];
- titleL.font = LCBoldFont(17.0f);
- [headerV addSubview:titleL];
- [titleL mas_makeConstraints:^(MASConstraintMaker *make) {
- make.left.offset(14.0f);
- make.centerY.equalTo(headerV);
- }];
- UIView *contentBgV = [[UIView alloc] init];
- [bgV addSubview:contentBgV];
- [contentBgV mas_makeConstraints:^(MASConstraintMaker *make) {
- make.top.equalTo(headerV.mas_bottom).offset(0.0f);
- make.left.right.offset(0.0f);
- make.height.offset(self.youpaifcontentHeight);
- }];
-
- NSInteger colCount = KColCount;
- for (NSInteger i = 0; i < self.youpaipdataSource.count; i ++) {
- NSInteger col = i % colCount;
- NSInteger row = i / colCount;
- CGFloat width = KScreenWidth / colCount;
- NSDictionary *dict = self.youpaipdataSource[i];
- UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
- btn.frame = CGRectMake(col * width, row * kRowHeight + row * kRowMarge, width, kRowHeight);
- btn.tag = i;
- [btn addTarget:self action:@selector(youpaifbtnClick:) forControlEvents:UIControlEventTouchUpInside];
- [contentBgV addSubview:btn];
- UIImageView *imageV = [[UIImageView alloc] initWithFrame:CGRectMake((width - 42.0f) / 2.0f, 0, 42.0f, 42.0f)];
- imageV.tag = 8888;
- imageV.image = dict[@"image"];
- [btn addSubview:imageV];
- UILabel *lab = [[UILabel alloc] initWithFrame:CGRectMake(0.0f, imageV.mj_h + 5.0f, btn.mj_w, btn.mj_h - (imageV.mj_h + 5.0f))];
- lab.tag = 9999;
- lab.font = LCFont(11.0f);
- lab.textColor = HexColorFromRGB(0xAAAAAA);
- lab.textAlignment = NSTextAlignmentCenter;
- lab.text = dict[@"title"];
- [btn addSubview:lab];
- if ([dict[@"selected"] boolValue]) {
- imageV.image = dict[@"selImage"];
- lab.text = dict[@"selTitle"];
- btn.selected = [dict[@"selected"] boolValue];
- }
- }
-
- }
- - (void)youpaifbtnClick:(UIButton *)sender{
- sender.selected = !sender.selected;
- NSDictionary *dict = self.youpaipdataSource[sender.tag];
- UIImageView *imageV = [sender viewWithTag:8888];
- UILabel *lab = [sender viewWithTag:9999];
- if (sender.selected) {
- imageV.image = dict[@"selImage"];
- lab.text = dict[@"selTitle"];
- }else{
- imageV.image = dict[@"image"];
- lab.text = dict[@"title"];
- }
-
- [self dismissViewControllerAnimated:YES completion:^{
- if (self.youpaipitemClickBlock != nil) {
- self.youpaipitemClickBlock([dict[@"type"] integerValue], sender.selected);
- }
- }];
- }
- - (void)youpaifplayTypeBtnClick:(UIButton *)sender{
- sender.selected = !sender.selected;
- NSDictionary *dict = self.youpaipplayTypes[sender.tag];
- UIImageView *imageV = [sender viewWithTag:8888];
- UILabel *lab = [sender viewWithTag:9999];
- if (sender.selected) {
- imageV.image = dict[@"selImage"];
- lab.text = dict[@"selTitle"];
- }else{
- imageV.image = dict[@"image"];
- lab.text = dict[@"title"];
- }
-
- [self dismissViewControllerAnimated:YES completion:^{
- if (self.youpaipitemClickBlock != nil) {
- self.youpaipitemClickBlock([dict[@"type"] integerValue], sender.selected);
- }
- }];
- }
- - (CGFloat)youpaiftotalHeight{
- CGFloat totalHeight = 0.0f;
- if (self.youpaipplayTypes.count != 0) {
- totalHeight += self.youpaifplayTypeHeight + 49.0f;
- }
- totalHeight += self.youpaifcontentHeight + 49.0f;
- totalHeight += SafeHeight;
- return totalHeight;
- }
- - (CGFloat)youpaifcontentHeight{
- NSInteger col = KColCount;
- NSInteger row = (self.youpaipdataSource.count + (col - 1)) / col;
- return row * (kRowMarge + kRowHeight);
- }
- - (CGFloat)youpaifplayTypeHeight{
- NSInteger col = KColCount;
- NSInteger row = (self.youpaipplayTypes.count + (col - 1)) / col;
- return row * (kRowMarge + kRowHeight);
- }
- - (void)youpaifreloadData{
- for (UIView *view in self.view.subviews) {
- [view removeFromSuperview];
- }
- [self youpaifinitValue];
- [self youpaifinitUI];
- }
- @end
|