BBAMixedNavigationController.h 2.23 KB
//
//  BBAMixedNavigationController.h
//  BBAPods
//
//  Created by guojin on 2016/8/16.
//  Copyright © 2016年 Baidu. All rights reserved.
//
/******************************************************************************/
// 描述:BBAMixedNavigationController,手百混合式导航容器,支持顶部导航,底部导航
// 目的:底部导航模式时,会自动调整子控制器视图底部边界
// 注意:!!!不是标准的UINavigationController,后续父类直接是UIViewController,!!!
//      !!!请不要使用本接口文件外的UINavigationController接口!!!
/******************************************************************************/

#import "BBANavigationController.h"
#import "BBAToolBarItem.h"
#import "BBAToolBar.h"
#import "BBAPannelAction.h"
#import "BBAGridPannelHeaderDataSource.h"
#import "FullscreenPopGestureRecognizer.h"
#import "UIViewController+BBAToolBar.h"

typedef NS_ENUM(NSUInteger, BBAMixedNavigationControllerAppearState) {
    BBAMixedNavigationControllerAppearStateWillAppear,
    BBAMixedNavigationControllerAppearStateDidAppear,
    BBAMixedNavigationControllerAppearStateWillDisappear,
    BBAMixedNavigationControllerAppearStateDidDisappear
};

NS_ASSUME_NONNULL_BEGIN
//Title:如有,取UIViewController的Title
@interface BBAMixedNavigationController : BBANavigationController//!!!二期会直接继承UIViewController

@property (assign, nonatomic, readonly) BBAMixedNavigationControllerAppearState appearState;

- (void)pushViewController:(nullable UIViewController *)viewController animated:(BOOL)animated;

- (nullable UIViewController *)popViewControllerAnimated:(BOOL)animated;
- (nullable UIViewController *)popToViewControllerClass:(nullable NSString *)viewControllerClass animated:(BOOL)animated;

- (void)setNavigationBarHidden:(BOOL)hidden animated:(BOOL)animated;

@end

@interface UIViewController (BBAMixedNavigationController)
//对应的mixNavigation, 如不是MixNavigation,否则返回nil
@property(nullable, nonatomic, readonly, strong) BBAMixedNavigationController *bbaMixedNavigationController;
//禁止转屏
@property(nonatomic, assign)BOOL banAutorotate;
//设置底部导航工具Frame.
- (void)bbaSetNavigationToolBarFrame:(CGRect)frame;
@end

NS_ASSUME_NONNULL_END