CNLiveListManager.m
2.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
//
// CNLiveListManager.m
// CNLiveVideoClassifyKit
//
// Created by CNLive on 2021/9/8.
//
#import "CNLiveListManager.h"
#import "CNCategoryGetChannelModel.h"
#import <CNLiveCWebViewModule/CNLiveCWebViewModule.h>
#import <CNLiveCWebViewModule/CNLiveSubWebViewController.h>
@interface CNLiveListManager()
{
BOOL _black;
CNCategoryGetChannelModel *_model;
CGFloat beginoffsetY;
NSString *_backImage, *_backColor ,*_backImageH5;
}
@end
@implementation CNLiveListManager
+(instancetype)shareListManager
{
static dispatch_once_t onceToken;
static CNLiveListManager *manager = nil;
dispatch_once(&onceToken, ^{
manager = [[CNLiveListManager alloc] init];
});
return manager;
}
-(void)model:(CNCategoryGetChannelModel *)model black:(BOOL)black bgImage:(NSString *)bgImage bgColor:(nonnull NSString *)bgColor bgImageH5:(nonnull NSString *)bgImageH5
{
_model = model;
_black = black;
_backImage = bgImage;
_backColor = bgColor;
_backImageH5 = bgImageH5;
}
- (void)requestWebViewForScrollView:(nonnull UIScrollView *)scrollView isBeginDragging:(BOOL)isBeginDragging
{
if (isBeginDragging) {
beginoffsetY = scrollView.offsetY;
}else
{
if (scrollView.offsetY - beginoffsetY>2) {
!self.scrollViewDidScrollBlock ?: self.scrollViewDidScrollBlock(YES);
}else if (scrollView.offsetY - beginoffsetY<-2) {
!self.scrollViewDidScrollBlock ?: self.scrollViewDidScrollBlock(NO);
}
}
}
#pragma mark - JXCategoryListContentViewDelegate
/**
实现 <JXCategoryListContentViewDelegate> 协议方法,返回该视图控制器所拥有的「视图」
*/
- (UIView *)listView {
NSDictionary * paramDic = nil;
if ([_model.pageType isEqualToString:@"4"] || [_model.pageType isEqualToString:@"5"]){
paramDic= @{
@"title": _model.showName?_model.showName:@"",
@"bgColor": _backColor?_backColor:@"",
@"isBlack":@(_black),
@"backgroundImg": _backImage?_backImage:@"",
@"channelId":_model.channelId?_model.channelId:@"",
@"channelName":_model.id?_model.id:@"",
@"pageId":_model.pageId?_model.pageId:@""
};
}else{
paramDic= @{
@"title": _model.showName,
@"bgColor": _backColor,
@"isBlack":@(_black),
@"thirdUrl":_model.thirdUrl,
@"backgroundImgH5":_backImageH5
};
}
UIViewController *subVC = [CNLiveClassifyJumpBridge ListViewWithPageType:_model.pageType.integerValue param:paramDic];
[self.contentVC addChildViewController:subVC];
return subVC.view;
}
@end