青少年模式隐藏部分功能
This commit is contained in:
@@ -19,6 +19,7 @@
|
||||
///View
|
||||
#import "XPSessionFindNewViewController.h"
|
||||
#import "TTPopUp.h"
|
||||
#import "XPTeenagerHomeView.h"
|
||||
|
||||
NSString * const kMessageShowReadDotKey = @"kMessageShowReadDotKey";
|
||||
|
||||
@@ -44,9 +45,13 @@ NSString * const kMessageShowReadDotKey = @"kMessageShowReadDotKey";
|
||||
@property (nonatomic, assign) SessionListOpenType openType;
|
||||
///用户信息
|
||||
@property (nonatomic,strong) UserInfoModel *userInfo;
|
||||
///青少年空白view
|
||||
@property (nonatomic, strong) XPTeenagerHomeView *teenagerView;
|
||||
|
||||
@end
|
||||
|
||||
@implementation SessionListViewController
|
||||
@synthesize parentMode = _parentMode;
|
||||
|
||||
- (void)dealloc {
|
||||
[[NIMSDK sharedSDK].conversationManager removeDelegate:self];
|
||||
@@ -57,6 +62,28 @@ NSString * const kMessageShowReadDotKey = @"kMessageShowReadDotKey";
|
||||
return YES;
|
||||
}
|
||||
|
||||
- (void)setParentMode:(BOOL)parentMode {
|
||||
_parentMode = parentMode;
|
||||
if (parentMode) {
|
||||
if (!self.teenagerView.superview) {
|
||||
[self.view addSubview:self.teenagerView];
|
||||
[self.teenagerView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.mas_equalTo(self.view);
|
||||
}];
|
||||
}
|
||||
[self setTabBarItemBadge:0];
|
||||
} else {
|
||||
[self.teenagerView removeFromSuperview];
|
||||
__block int unreadCount = 0;
|
||||
NSMutableArray<NSString *> * uids = [[NSMutableArray alloc] init];
|
||||
[self.recentSessions enumerateObjectsUsingBlock:^(NIMRecentSession * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
|
||||
[uids addObject:obj.session.sessionId];
|
||||
unreadCount += obj.unreadCount;
|
||||
}];
|
||||
[self setTabBarItemBadge:unreadCount];
|
||||
}
|
||||
}
|
||||
|
||||
- (instancetype)initWithType:(SessionListOpenType)type {
|
||||
self = [self init];
|
||||
if (self) {
|
||||
@@ -335,6 +362,10 @@ NSString * const kMessageShowReadDotKey = @"kMessageShowReadDotKey";
|
||||
}
|
||||
|
||||
- (void)setTabBarItemBadge:(NSInteger)value {
|
||||
if (self.parentMode) {
|
||||
[self.tabBarItem setBadgeValue:0];
|
||||
return;
|
||||
}
|
||||
if (value > 0) {
|
||||
[self.tabBarItem setBadgeValue:[NSString stringWithFormat:@"%ld", value]];
|
||||
} else {
|
||||
@@ -409,4 +440,11 @@ NSString * const kMessageShowReadDotKey = @"kMessageShowReadDotKey";
|
||||
return _allReadButton;
|
||||
}
|
||||
|
||||
- (XPTeenagerHomeView *)teenagerView {
|
||||
if (!_teenagerView) {
|
||||
_teenagerView = [[XPTeenagerHomeView alloc] init];
|
||||
}
|
||||
return _teenagerView;
|
||||
}
|
||||
|
||||
@end
|
||||
|
Reference in New Issue
Block a user