BBALightViewController.h
3.87 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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
//
// BBALightViewController.h
// BBAPods
//
// Created by Deng,Yuguang on 05/06/2017.
// Copyright © 2017 Baidu. All rights reserved.
//
#import "BBAUIViewController.h"
#import "BBASimpleBrowserToolBarModel.h"
/**
* 目前仅支持这几种类型, TODO:这个应该是内部实现
*
*/
typedef NS_ENUM(NSUInteger, BBASimpleBrowserToolBarStyle) {
BBASimpleBrowserToolBarStyleNormal = 0,
BBASimpleBrowserToolBarStyleFeed = 1,
BBASimpleBrowserToolBarStyleCommentInput = 2,
BBASimpleBrowserToolBarStyleCustom = 3
};
/**
* 目前仅支持这几种菜单类型
*
*/
typedef NS_ENUM(NSUInteger, BBASimpleBrowserMenuBarMode) {
BBASimpleBrowserMenuBarModeMin,
BBASimpleBrowserMenuBarModeH5, //h5页面-9.0废弃
BBASimpleBrowserMenuBarModeFeed, // 9.0仅保留Feed菜单
BBASimpleBrowserMenuBarModeNA, // 9.0废弃
BBASimpleBrowserMenuBarModeFavor, //10.6 临时添加,处理收藏
BBASimpleBrowserMenuBarModeMax
};
typedef void (^BBASimpleBrowserViewWillAppear)(void);
typedef void (^BBASimpleBrowserViewWillDisappear)(void);
typedef void (^BBASimpleBrowserViewDidDisappear)(void);
typedef void (^BBASimpleBrowserDismissBlock)(BOOL isExit);
typedef void (^BBASimpleBrowserMenuItemClickedHander)(NSUInteger buttonIndex);
@class BBALightViewController;
@class BBAToolBarItem;
@protocol BBALightViewControllerToolBarDataSource <NSObject>
/**
* 通过toolBar 类型获取对应的mode数组
*
*/
- (NSArray<BBAToolBarItem *> *)toolBarItemsInLightViewController:(BBALightViewController *)lightViewController
models:(NSArray<BBASimpleBrowserToolBarModel *> *)models
style:(BBASimpleBrowserToolBarStyle)aToolBarStyle;
@end
@class BBAPannelAction;
@protocol BBALightViewControllerMenuDataSource <NSObject>
/**
* 通过toolBar 类型获取对应的mode数组
*
*/
- (NSArray<BBAPannelAction *> *)menuItemsInLightViewController:(BBALightViewController *)lightViewController
mode:(BBASimpleBrowserMenuBarMode)menuMode;
@end
/**
* 分离之前的轻流量框架中,和H5 无关的逻辑。支持顶、底部bar以及菜单
*
*/
@class BBAPannelAction;
__attribute__ ((deprecated("该类已被废弃,请勿再使用")))
@interface BBALightViewController : BBAUIViewController
{
BBASimpleBrowserMenuBarMode _menuBarMode;
BBASimpleBrowserToolBarStyle _toolBarStyle;
NSMutableArray<BBASimpleBrowserToolBarModel *> *_toolIdModels;
}
@property (nonatomic, copy) BBASimpleBrowserViewWillAppear viewWillAppearBlock;
@property (nonatomic, copy) BBASimpleBrowserViewWillDisappear viewWillDisappearBlock;
@property (nonatomic, copy) BBASimpleBrowserViewDidDisappear viewDidDisappearBlock;
@property (nonatomic, copy) BBASimpleBrowserDismissBlock dismissBlock;
@property (nonatomic, weak) id <BBALightViewControllerToolBarDataSource> toolBarDataSource;
@property (nonatomic, weak) id <BBALightViewControllerMenuDataSource> menuItemsDataSource;
/**
* 更新底部toolbar样式
*
* @param toolBarStyle BBASimpleBrowserToolBarStyle style
*
*/
- (void)updateToolBarStyles:(BBASimpleBrowserToolBarStyle)toolBarStyle;
/**
* 更新底部按钮id
*
* @param toolIdModels NSMutableArray toolIdModels
*
*/
- (void)updateToolBarIdModels:(NSMutableArray<BBASimpleBrowserToolBarModel *> *)toolIdModels;
/**
* 刷新菜单类型
*
* @param animated BOOL 是否开启动画
*/
- (void)updateToolBarMenu:(BOOL)animated;
/**
* 刷新菜单
*
* @param animated BOOL 是否开启动画
*/
- (void)updateMenu:(BOOL)animated;
/**
* 根据toolbar icon类型,返回数据模型
*
*/
- (BBASimpleBrowserToolBarModel *)_modelForIDType:(BBASimpleBrowserToolBarIDType)type;
/**
* 返回当前是否收藏
* @discussion 虽然没有实现,但是BBABrowser仓库还在使用
*/
- (BOOL)isFavored;
@end