BBACommonUIParams.h 3.46 KB
//
//  BBACommonUIParams.h
//  BaiduBoxApp
//
//  Created by wang cong on 12-9-25.
//  Copyright (c) 2012年 Baidu. All rights reserved.
//

// 头文件
#import <Foundation/Foundation.h>

//toolBar navBar tabBar统一引入
#import "BBAToolBarConstant.h"
#import "BBANavigationBarConstants.h"
#import "BBATabStyleGuide.h"

#pragma mark - define UI

// 界面适配iOS7
// 高度值修复, iOS7.0或更高版本状态栏透明. 需要修改VIEW长度, 以及其中界面部件的纵坐标值.
// 修改原则, 设备iOS系统版本大于等于7.0, 则增加状态栏的高度值; 否则增加零(不调整).
#define FRAME_HEIGHT_ADAPTER APPLICATION_STATUSBAT_HEIGHT //高度值修复

// ApplicationFrameWidth
#define APPLICATION_FRAME_WIDTH         ([BBACommonUIParams applicationFrameWidth])
// ApplicationFrameHeight
#define APPLICATION_FRAME_HEIGHT        ([BBACommonUIParams applicationFrameHeight])

#define SUGGEST_VIEW_FRAME_SCALE(arg)   (([UIScreen mainScreen].applicationFrame.size.width == 320) ? floor(arg*0.9) : arg)

/*
 statusBar 默认高度
 1. iPhoneX 竖屏为 44
 2. iPhoneX 横屏为 暂定20 模拟器上iPhoneX 横屏不允许展示statusBar
 3. 其他case横竖屏都为 20
 */
#define APPLICATION_STATUSBAT_HEIGHT    ([BBACommonUIParams statusBarIntrinsicHeight])

// 宏定义
#define TAB_BAR_HEIGHT 60.f //need to clean
#define TAB_BAR_VISIBLE_TOP_HEIGHT 10.f // tabbar顶部保留高度,20像素,主要用于tabbar的异形 need to clean
#define NAVIGATION_BAR_BACK_BUTTON_IMAGE_INSETS (UIEdgeInsetsMake(6.5, 7, 6.5, 7))
#define NAVIGATION_BAR_BACK_BUTTON_FRAME CGRectMake(8.0f, FRAME_HEIGHT_ADAPTER, 55.0f, 44.0f)

#define TITLE_BAR_HEIGHT (64.0f)

#define NAVIGATION_BAR_BACK_BUTTON_FRAME_FOR_HIDDEN_STATUS_BAR CGRectMake(0.0f, [UIDevice bba_isIPhoneX] ? 24 : 0, 46.0f, 44.0f)    // 图像搜索界面结果页, 左侧返回按钮的框架.

#define BBA_SAFE_AREA_TOP_MARGIN     ([BBACommonUIParams safeTopMargin])
#define BBA_SAFE_AREA_BOTTOM_MARGIN  ([BBACommonUIParams safeBottomMargin])
#define BBA_SAFE_AREA_LEFT_MARGIN    ([BBACommonUIParams safeLeftMargin])
#define BBA_SAFE_AREA_RIGHT_MARGIN   ([BBACommonUIParams safeRightMargin])

// @class - BBACommonUIParams
// @brief - 用于存储一些UI相关的设置和全局变量,单例
@interface BBACommonUIParams : NSObject

@property (nonatomic, retain) UIFont *commonNavigationTitleFont;
@property (nonatomic, retain) UIFont *commonNavigationBarItemFont;
@property (nonatomic, assign) CGFloat commonNavigationBarHeight;
@property (nonatomic, assign) CGFloat commonToolBarHeight;
@property (nonatomic, assign) CGPoint typesviewOriginCenter;
@property (nonatomic, retain) UILabel *nav_titleLabel;
//以下属性,非通用逻辑,迁移到搜索框所在UI组件
@property (nonatomic, assign) CGFloat commonSearchBarHeightStandard;    // 标准搜索框高度
@property (nonatomic, assign) CGFloat commonSearchBarHeight;            // 根据iOS版本输出搜索框高度(iOS7以上输出标准值+20)
@property (nonatomic, assign) CGFloat suggestViewCellHeight;

+ (BBACommonUIParams *)sharedInstance;

/// statusBar高度
/// 等价于 +[BDPStatusBarHeightManager statusBarHeight]
+ (CGFloat)statusBarIntrinsicHeight;

+ (CGFloat)safeTopMargin;   //适配iphone X顶部间隔
+ (CGFloat)safeBottomMargin;//适配iphone X底部间隔
+ (CGFloat)safeLeftMargin;  //适配iphone X左部间隔
+ (CGFloat)safeRightMargin; //适配iphone X右部间隔

+ (CGFloat)applicationFrameWidth;

+ (CGFloat)applicationFrameHeight;

@end // BBACommonUIParams