Files
my_yuyin/QXLive/Mine(音域)/Controller/设置/QXNoticeSwitchViewController.m
2025-09-22 18:48:29 +08:00

139 lines
5.0 KiB
Objective-C

//
// QXNoticeSwitchViewController.m
// QXLive
//
// Created by 启星 on 2025/5/14.
//
#import "QXNoticeSwitchViewController.h"
#import "QXSettingCell.h"
#import "QXNoticeAnchorCell.h"
@interface QXNoticeSwitchViewController ()<UITableViewDelegate,UITableViewDataSource>
@property (nonatomic,strong)UITableView *tableView;
@property (nonatomic,strong)NSDictionary *valueDict;
@property (nonatomic,strong)NSDictionary *cellTypeDict;
@end
@implementation QXNoticeSwitchViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
}
-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
[self.navigationController setNavigationBarHidden:NO animated:YES];
}
-(void)setNavgationItems{
[super setNavgationItems];
if (self.type == 0) {
self.navigationItem.title = QXText(@"消息提醒");
}else if (self.type == 1){
self.navigationItem.title = QXText(@"开播提醒");
}else if (self.type == 2){
self.navigationItem.title = QXText(@"屏蔽私信");
}
}
- (void)initSubViews{
[self configData];
self.tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, NavContentHeight, SCREEN_WIDTH, SCREEN_HEIGHT) style:(UITableViewStyleGrouped)];
self.tableView.delegate = self;
self.tableView.dataSource = self;
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
self.tableView.backgroundColor = [UIColor clearColor];
[self.view addSubview:self.tableView];
}
-(void)configData{
if (self.type == 0) {
self.valueDict = @{
QXText(@"开播提醒"):@"",
QXText(@"屏蔽私信"):@""
};
self.cellTypeDict = @{
QXText(@"开播提醒"):[NSNumber numberWithInteger:QXSettingCellTypeOnlyArrow],
QXText(@"屏蔽私信"):[NSNumber numberWithInteger:QXSettingCellTypeOnlyArrow]
};
[self.dataArray addObjectsFromArray:@[QXText(@"开播提醒"),QXText(@"屏蔽私信")]];
}else if (self.type == 1){
self.valueDict = @{
QXText(@"直播消息提醒"):[NSNumber numberWithBool:YES],
};
self.cellTypeDict = @{
QXText(@"直播消息提醒"):[NSNumber numberWithInteger:QXSettingCellTypeSwitch],
};
[self.dataArray addObject:@""];
[self.dataArray addObject:@""];
[self.dataArray addObject:@""];
}else if (self.type == 2){
self.valueDict = @{
QXText(@"屏蔽私信消息"):[NSNumber numberWithBool:YES],
QXText(@"屏蔽非互关好友私信"):[NSNumber numberWithBool:YES]
};
self.cellTypeDict = @{
QXText(@"屏蔽私信消息"):[NSNumber numberWithInteger:QXSettingCellTypeSwitch],
QXText(@"屏蔽非互关好友私信"):[NSNumber numberWithInteger:QXSettingCellTypeSwitch]
};
[self.dataArray addObjectsFromArray:@[QXText(@"屏蔽私信消息"),QXText(@"屏蔽私信消息")]];
}
}
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
if (self.type == 1) {
return 2;
}
return 1;
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
if (self.type == 1 && section == 0) {
/// 直播消息
return 1;
}
return self.dataArray.count;
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
if (indexPath.section == 1 && self.type == 1) {
QXNoticeAnchorCell *cell = [QXNoticeAnchorCell cellWithTableView:tableView];
return cell;
}else{
QXSettingCell *cell = [QXSettingCell cellWithTableView:tableView];
NSString *title = @"";
if (self.type != 1) {
title = self.dataArray[indexPath.row];
cell.needLine = (indexPath.row>=0) && (indexPath.row < self.dataArray.count-1);
}else{
title = QXText(@"直播消息提醒");
cell.needLine = NO;
}
cell.titleLabel.text = title;
cell.cellType = [[self.cellTypeDict objectForKey:title] integerValue];
cell.detailLabel.text = [NSString stringWithFormat:@"%@",[self.valueDict objectForKey:title]];
return cell;
}
}
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
if (indexPath.section == 1 && self.type == 1) {
return 62;
}
return 50;
}
-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
return [UIView new];
}
-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
if (self.type == 0) {
return 8;
}
return 0.01;
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
[tableView deselectRowAtIndexPath:indexPath animated:YES];
if (self.type == 0) {
QXNoticeSwitchViewController *vc = [[QXNoticeSwitchViewController alloc] init];
vc.type = indexPath.row+1;
[self.navigationController pushViewController:vc animated:YES];
}
}
@end