BBAUIViewController.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
//
// BBAUIViewController.h
// BaiduBoxApp
//
// Created by wang cong on 12-9-16.
// Copyright (c) 2012年 Baidu. All rights reserved.
//
/******************************************************************************/
// 描述:视图控制器基类,提供一些共有基本属性与设置,本SDK中所有视图控制器类均基于此类
// 场景:生成视图控制器
// 用法:与系统UIViewController用法一致
/******************************************************************************/
// 头文件
#import <UIKit/UIKit.h>
//#import "BBANavigationBar.h"
// @class - BBAUIViewController
// @brief - 项目中类继承关系最根层次的UIViewController,项目中其他的UIViewController都应该从此类继承
__attribute__ ((deprecated("该类已被废弃,请勿再使用")))
@interface BBAUIViewController : UIViewController
// 初始化,指定首选的状态条样式(默认是UIStatusBarStyleDefault)
// 只有使用这种方式初始化的VC,才会在appear和disappear时改变和恢复statusBar样式
- (instancetype)initWithPreferedStatusBarStyle:(UIStatusBarStyle)statusBarStyle;
// 指定构造器方法,在提供设置nib相关的情况下, 沿用上述方式.
- (instancetype)initWithNibName:(NSString *)nibNameOrNil
bundle:(NSBundle *)nibBundleOrNil
preferedStatusBarStyle:(UIStatusBarStyle)statusBarStyle;
// viewController原来默认方法,状态栏为default
- (instancetype)initWithNibName:(NSString *)nibNameOrNil
bundle:(NSBundle *)nibBundleOrNil;
// 设置本页所需导航栏状态(如上方), 此方法可在子类初始化方法中调用, 以达到其目的. 因部分子类初始化已不再调用父类的初始化方法.
- (void)setPreferedStatusBarStyle:(UIStatusBarStyle)statusBarStyle;
// 设置导航栏的统一接口方法
- (void)showNavigationBarDefaulStyleWithTitle:(NSString *)aTitle
animated:(BOOL)animated; //设置标题, 显示导航栏, 样式为指定默认值(可一处同意更改)
- (void)showNavigationBarDefaulStyleWithTitle:(NSString *)aTitle
titleFontSize:(CGFloat)fontSize
animated:(BOOL)animated; // 设置标题, 显示导航栏, 标题字号可设定, 其他为默认值.
- (void)setNavigationBarForgroundLightColor:(UIColor *)pressedColor;
// 设置导航栏前景色为浅色,用户垂直平台导航栏为彩色的情况。
// recover notification methods
- (void)registeRecoverNotification;
- (void)unregisterRecoverNotification;
- (void)onRecoverNotificationReceived:(NSNotification *)notification;
// modal vc attribute
@property (nonatomic, readonly) id presentedOrModaledVC;
// modal vc methods
- (BOOL)hasModalVC;
- (void)presentModalVC:(UIViewController*)modalVC
animated:(BOOL)animated
completion:(void (^)(void))completion;
- (void)dismissModalVCAnimated:(BOOL)animated
completion:(void (^)(void))completion;
// alert view methods
- (void)showAlertView:(UIAlertView*)alertView;
- (void)dismissAlertView;
// action sheet methods
- (void)showActionSheet:(UIActionSheet*)actionSheet;
- (void)dismissActionSheet:(BOOL)animated;
// block methods
- (void)performBlockOnNextRunLoop:(void (^)(void))block;
- (void)performBlockAfter:(NSTimeInterval)delay
block:(void (^)(void))block;
// screenshot
- (UIImage*)screenShot;
- (void)performBlockOnSerialQueue:(void(^)(void))block;
- (void)performNavigationBlock:(void(^)(void))block;
+ (UINavigationController *)navigationControllerOfViewController:(UIViewController *)viewController;
/**
* 如果是push 出的contoller 判断上一个controller支持不支持横屏
*/
-(BOOL)lastControllerSupportLandscapeMode;
//第三方键盘是否激活(由于转屏时交互会有重大bug,因此转屏期间禁止交互;此时会导致激活的第三方键盘不可用,因此如果有键盘激活禁止转屏)
@property (nonatomic, assign, getter=isKeyboardActivate)BOOL keyboardActivate;
@end // BBAUIViewController