Files
benmy--tlchat/TLChat/Modules/Setting/TLSettingViewController/TLSettingViewController.m
T
2026-07-13 12:35:01 +08:00

108 lines
4.2 KiB
Objective-C

//
// TLSettingViewController.m
// TLChat
//
// Created by 李伯坤 on 16/2/8.
// Copyright © 2016年 李伯坤. All rights reserved.
//
#import "TLSettingViewController.h"
#import "TLAccountSettingViewController.h"
#import "TLNewMessageSettingViewController.h"
#import "TLPrivacySettingViewController.h"
#import "TLCommonSettingViewController.h"
#import "TLAboutViewController.h"
#import "TLWebViewController.h"
#import "TLSettingItem.h"
typedef NS_ENUM(NSInteger, TLSettingVCSectionType) {
TLSettingVCSectionTypeAccount,
TLSettingVCSectionTypeNomal,
TLSettingVCSectionTypeAbout,
TLSettingVCSectionTypeExit,
};
@implementation TLSettingViewController
- (void)loadView
{
[super loadView];
[self setTitle:LOCSTR(@"设置")];
[self.collectionView setBackgroundColor:[UIColor colorGrayBG]];
[self loadSettingUI];
}
#pragma mark - # UI
- (void)loadSettingUI
{
@weakify(self);
self.clear();
{
NSInteger sectionTag = TLSettingVCSectionTypeAccount;
self.addSection(sectionTag).sectionInsets(UIEdgeInsetsMake(15, 0, 0, 0));
// 账号与安全
self.addCell(CELL_ST_ITEM_NORMAL).toSection(sectionTag).withDataModel(TLCreateSettingItem(@"账号与安全")).selectedAction(^ (id data) {
@strongify(self);
TLAccountSettingViewController *accountAndSafetyVC = [[TLAccountSettingViewController alloc] init];
PushVC(accountAndSafetyVC);
});
}
{
NSInteger sectionTag = TLSettingVCSectionTypeNomal;
self.addSection(sectionTag).sectionInsets(UIEdgeInsetsMake(20, 0, 0, 0));
// 新消息通知
self.addCell(CELL_ST_ITEM_NORMAL).toSection(sectionTag).withDataModel(TLCreateSettingItem(@"新消息通知")).selectedAction(^ (id data) {
@strongify(self);
TLNewMessageSettingViewController *newMessageSettingVC = [[TLNewMessageSettingViewController alloc] init];
PushVC(newMessageSettingVC);
});
// 隐私
self.addCell(CELL_ST_ITEM_NORMAL).toSection(sectionTag).withDataModel(TLCreateSettingItem(@"隐私")).selectedAction(^ (id data) {
@strongify(self);
TLPrivacySettingViewController *privacySettingVC = [[TLPrivacySettingViewController alloc] init];
PushVC(privacySettingVC);
});
// 通用
self.addCell(CELL_ST_ITEM_NORMAL).toSection(sectionTag).withDataModel(TLCreateSettingItem(@"通用")).selectedAction(^ (id data) {
@strongify(self);
TLCommonSettingViewController *commonSettingVC = [[TLCommonSettingViewController alloc] init];
PushVC(commonSettingVC);
});
}
{
NSInteger sectionTag = TLSettingVCSectionTypeAbout;
self.addSection(TLSettingVCSectionTypeAbout).sectionInsets(UIEdgeInsetsMake(20, 0, 0, 0));
// 帮助与反馈
self.addCell(CELL_ST_ITEM_NORMAL).toSection(sectionTag).withDataModel(TLCreateSettingItem(@"帮助与反馈")).selectedAction(^ (id data) {
@strongify(self);
TLWebViewController *webVC = [[TLWebViewController alloc] initWithUrl:@"https://github.com/tbl00c/TLChat/issues"];
PushVC(webVC);
});
// 关于微信
self.addCell(CELL_ST_ITEM_NORMAL).toSection(sectionTag).withDataModel(TLCreateSettingItem(@"关于微信")).selectedAction(^ (id data) {
@strongify(self);
TLAboutViewController *aboutVC = [[TLAboutViewController alloc] init];
PushVC(aboutVC);
});
}
{
NSInteger sectionTag = TLSettingVCSectionTypeExit;
self.addSection(sectionTag).sectionInsets(UIEdgeInsetsMake(20, 0, 40, 0));
self.addCell(CELL_ST_ITEM_BUTTON).toSection(sectionTag).withDataModel(TLCreateSettingItem(@"退出登录")).selectedAction(^ (id data) {
TLActionSheet *actionSheet = [[TLActionSheet alloc] initWithTitle:@"退出后不会删除任何历史数据,下次登录依然可以使用本账号。" clickAction:^(NSInteger buttonIndex) {
} cancelButtonTitle:LOCSTR(@"取消") destructiveButtonTitle:LOCSTR(@"退出登录") otherButtonTitles:nil];
[actionSheet show];
});
}
[self reloadView];
}
@end