BBANavigationBarAdapter.h 1.82 KB
//
//  BBANavigationBarAdapter.h
//  BaiduBoxApp
//
//  Created by qfu on 8/3/15.
//  Copyright (c) 2015 Baidu. All rights reserved.
//

#import "BBANavigationBarModel.h"
@class BBANavigationBarAdapterBuilder;

typedef NS_ENUM(NSUInteger, BBANavigationBarStyle) {
    BBANavigationBarStyleNone,
    BBANavigationBarStyleBlack,
    BBANavigationBarStyleWhite,
};

@interface BBANavigationBarAdapter : BBANavigationBarModel

@property (nonatomic,weak) UIViewController *weakViewController;

@property (nonatomic,strong) BBANavigationBarAdapterBuilder *builder;

- (instancetype)initWithViewController:(UIViewController *)aViewController;

- (void)adapt;

+ (instancetype)createWithBuilder:(void (^)(BBANavigationBarAdapterBuilder *builder))block
                  adaptController:(UIViewController *)aViewController;

+ (instancetype)createWithBuilder:(void (^)(BBANavigationBarAdapterBuilder *builder))block
                            style:(BBANavigationBarStyle)style
                  adaptController:(UIViewController *)aViewController;

+ (instancetype)createWithBuilder:(void (^)(BBANavigationBarAdapterBuilder *builder))block
                     builderClass:(Class)aClass
                            style:(BBANavigationBarStyle)style
                  adaptController:(UIViewController *)aViewController;

+ (instancetype)createWithParam:(NSDictionary *)param
                adaptController:(UIViewController *)aViewController;

+ (instancetype)createWithParam:(NSDictionary *)param
                          style:(BBANavigationBarStyle)style
                adaptController:(UIViewController *)aViewController;

+ (instancetype)createWithParam:(NSDictionary *)param
                   builderClass:(Class)aClass
                          style:(BBANavigationBarStyle)style
                adaptController:(UIViewController *)aViewController;


@end