提交
This commit is contained in:
111
TUIKit/TUIContact/UI_Classic/UI/TUIBlackListController.m
Normal file
111
TUIKit/TUIContact/UI_Classic/UI/TUIBlackListController.m
Normal file
@@ -0,0 +1,111 @@
|
||||
//
|
||||
// TUIBlackListController.m
|
||||
// TXIMSDK_TUIKit_iOS
|
||||
//
|
||||
// Created by annidyfeng on 2019/5/5.
|
||||
// Copyright © 2023 Tencent. All rights reserved.
|
||||
//
|
||||
|
||||
#import "TUIBlackListController.h"
|
||||
#import <TIMCommon/TIMDefine.h>
|
||||
#import <TUICore/TUIThemeManager.h>
|
||||
|
||||
@interface TUIBlackListController () <V2TIMFriendshipListener>
|
||||
|
||||
@property(nonatomic, strong) UILabel *noDataTipsLabel;
|
||||
|
||||
@end
|
||||
|
||||
@implementation TUIBlackListController
|
||||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
|
||||
// Uncomment the following line to preserve selection between presentations.
|
||||
// self.clearsSelectionOnViewWillAppear = NO;
|
||||
|
||||
// Uncomment the following line to display an Edit button in the navigation bar for this view controller.
|
||||
// self.navigationItem.rightBarButtonItem = self.editButtonItem;
|
||||
self.view.backgroundColor = TIMCommonDynamicColor(@"controller_bg_color", @"#F2F3F5");
|
||||
|
||||
UILabel *titleLabel = [[UILabel alloc] init];
|
||||
titleLabel.text = TIMCommonLocalizableString(TUIKitContactsBlackList);
|
||||
titleLabel.font = [UIFont boldSystemFontOfSize:17.0];
|
||||
titleLabel.textColor = TIMCommonDynamicColor(@"nav_title_text_color", @"#000000");
|
||||
[titleLabel sizeToFit];
|
||||
self.navigationItem.titleView = titleLabel;
|
||||
self.tableView.delaysContentTouches = NO;
|
||||
|
||||
if (!self.viewModel) {
|
||||
self.viewModel = TUIBlackListViewDataProvider.new;
|
||||
@weakify(self);
|
||||
[RACObserve(self.viewModel, isLoadFinished) subscribeNext:^(id finished) {
|
||||
@strongify(self);
|
||||
if ([(NSNumber *)finished boolValue]) [self.tableView reloadData];
|
||||
}];
|
||||
[self.viewModel loadBlackList];
|
||||
}
|
||||
|
||||
[self.tableView registerClass:[TUICommonContactCell class] forCellReuseIdentifier:@"FriendCell"];
|
||||
self.tableView.tableFooterView = [UIView new];
|
||||
self.tableView.backgroundColor = self.view.backgroundColor;
|
||||
|
||||
[[V2TIMManager sharedInstance] addFriendListener:self];
|
||||
|
||||
[self.tableView addSubview:self.noDataTipsLabel];
|
||||
}
|
||||
- (void)viewWillAppear:(BOOL)animated {
|
||||
[super viewWillAppear:animated];
|
||||
self.noDataTipsLabel.frame = CGRectMake(10, 60, self.view.bounds.size.width - 20, 40);
|
||||
}
|
||||
|
||||
#pragma mark - V2TIMFriendshipListener
|
||||
- (void)onBlackListAdded:(NSArray<V2TIMFriendInfo *> *)infoList {
|
||||
[self.viewModel loadBlackList];
|
||||
}
|
||||
|
||||
- (void)onBlackListDeleted:(NSArray *)userIDList {
|
||||
[self.viewModel loadBlackList];
|
||||
}
|
||||
|
||||
#pragma mark - Table view data source
|
||||
|
||||
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
|
||||
return 1;
|
||||
}
|
||||
|
||||
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
|
||||
self.noDataTipsLabel.hidden = (self.viewModel.blackListData.count != 0);
|
||||
return self.viewModel.blackListData.count;
|
||||
}
|
||||
|
||||
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
TUICommonContactCell *cell = [tableView dequeueReusableCellWithIdentifier:@"FriendCell" forIndexPath:indexPath];
|
||||
TUICommonContactCellData *data = self.viewModel.blackListData[indexPath.row];
|
||||
data.cselector = @selector(didSelectBlackList:);
|
||||
[cell fillWithData:data];
|
||||
return cell;
|
||||
}
|
||||
|
||||
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
return 56;
|
||||
}
|
||||
|
||||
- (void)didSelectBlackList:(TUICommonContactCell *)cell {
|
||||
if (self.didSelectCellBlock) {
|
||||
self.didSelectCellBlock(cell);
|
||||
}
|
||||
}
|
||||
|
||||
- (UILabel *)noDataTipsLabel {
|
||||
if (_noDataTipsLabel == nil) {
|
||||
_noDataTipsLabel = [[UILabel alloc] init];
|
||||
_noDataTipsLabel.textColor = TIMCommonDynamicColor(@"nodata_tips_color", @"#999999");
|
||||
_noDataTipsLabel.font = [UIFont systemFontOfSize:14.0];
|
||||
_noDataTipsLabel.textAlignment = NSTextAlignmentCenter;
|
||||
_noDataTipsLabel.text = TIMCommonLocalizableString(TUIKitContactNoBlockList);
|
||||
}
|
||||
return _noDataTipsLabel;
|
||||
}
|
||||
|
||||
@end
|
||||
Reference in New Issue
Block a user