BBAPanelMenuManager.h 2.03 KB
//
//  BBAPanelMenuManager.h
//  BBAUIKit
//
//  Created by Liu,Xianting on 2021/2/3.
//

#import <Foundation/Foundation.h>
#import <BBAUIKit/BBAPanelItem.h>
#import <BBAUIKit/BBAPanelController.h>
#import <BBAUIKit/BBAFontPanelController.h>

NS_ASSUME_NONNULL_BEGIN

@interface BBAPanelMenuManager : NSObject

/// 配置菜单功能项的items
@property (nonatomic, strong) NSArray<NSArray<BBAPanelItem *> *> * _Nullable bba_MenuPanelItems;

///展示菜单面板,取vc配置菜单功能项的items,若未设置菜单功能项,无法弹出菜单面板
- (void)bba_showMenuPanel;

/// 显示面板,菜单功能项的items,若未设置菜单功能项,无法弹出菜单面板
/// @param headerView 传入头部视图则展示带headerView的菜单面板
- (void)bba_showMenuWithHeaderView:(UIView *_Nullable)headerView
                  dissmissCallBack:(BBAPanelViewCallBack _Nullable )dismissBlock;

/// 关闭面板
/// @param isAnim  是否播放动画
/// @param completion 菜单面板消失后回调
- (void)bba_dismissMenuPanelWithAnimation:(BOOL)isAnim
                               completion:(BBAPanelViewCallBack _Nullable )completion;


/// 展示字体面板方法
/// @param fontLevel  展示出的字体面板中展示的level
- (void)bba_showFontPanelWithFontLevel:(NSString *_Nullable)fontLevel
                      dissmissCallBack:(BBAPanelViewCallBack _Nullable )dismissBlock;

/// 关闭字体选择面板面板
/// @param isAnim  是否播放动画
/// @param completion 字体面板消失后回调
- (void)bba_dismissFontPanelWithAnimation:(BOOL)isAnim
                               completion:(BBAPanelViewCallBack _Nullable )completion;

/// 刷新面板
- (void)bba_reloadMenuPanel;

/// 刷新面板items,传入非BBAPanelItem对象无效果
/// @param items 数组包含项将被刷新
- (void)bba_reloadMenuPanelItems:(NSArray<BBAPanelItem *> *_Nullable)items;


/// 在panelController未知的情况下关闭面板
/// @param anim  是否执行消失动画
+ (void)bba_dismissPanelIfNeeded:(BOOL)anim;

@end

NS_ASSUME_NONNULL_END