138 lines
4.7 KiB
C
138 lines
4.7 KiB
C
|
|
//
|
|||
|
|
// UIScreenEx.h
|
|||
|
|
// baseUI
|
|||
|
|
//
|
|||
|
|
// Created by odie song on 12-9-13.
|
|||
|
|
// Copyright (c) 2012年 odie song. All rights reserved.
|
|||
|
|
//
|
|||
|
|
|
|||
|
|
#ifndef __baseUI__UIScreenEx__
|
|||
|
|
#define __baseUI__UIScreenEx__
|
|||
|
|
|
|||
|
|
#import <UIKit/UIKit.h>
|
|||
|
|
#define STATUS_BAR_HEIGHT STATUSBAR_HEIGHT
|
|||
|
|
//#define SCREEN_WIDTH getScreenWidth()
|
|||
|
|
//#define SCREEN_HEIGHT getScreenHeight()
|
|||
|
|
#define NAVIGATION_BAR_HEIGHT (STATUS_BAR_HEIGHT + 44)
|
|||
|
|
#define TAB_BAR_HEIGHT (controllerToolbarHeight())
|
|||
|
|
|
|||
|
|
#ifdef __cplusplus
|
|||
|
|
extern "C" {
|
|||
|
|
#endif
|
|||
|
|
int getScreenWidth(void);
|
|||
|
|
|
|||
|
|
int getScreenHeight(void);
|
|||
|
|
|
|||
|
|
int getScreenScale(void);
|
|||
|
|
|
|||
|
|
CGRect getScreenBounds(void);
|
|||
|
|
|
|||
|
|
CGSize getScreenSize(void);
|
|||
|
|
|
|||
|
|
// 获取状态栏竖边高度
|
|||
|
|
int getStatusBarHeight(void);
|
|||
|
|
|
|||
|
|
void setStatusBarHeight(int newH);
|
|||
|
|
|
|||
|
|
// CGFloat fitScreenW(CGFloat value);
|
|||
|
|
// CGFloat fitScreenWidthBy6(CGFloat value);
|
|||
|
|
// CGFloat fitSmallScreenWidthBy6(CGFloat value);
|
|||
|
|
// CGFloat fitScreenHeightBy6(CGFloat value);
|
|||
|
|
// CGFloat fitScaleScreenBy6(CGFloat value);
|
|||
|
|
// CGFloat fontfitScreenWidthBy6(CGFloat value);
|
|||
|
|
// BOOL is3XScreen(void);
|
|||
|
|
// CGFloat getPTbyPX(CGFloat value);
|
|||
|
|
// CGFloat fitScreenH(CGFloat value);
|
|||
|
|
// CGFloat fitScaleScreen(CGFloat value);
|
|||
|
|
// CGFloat fitScaleFontScreen(CGFloat value);
|
|||
|
|
// CGFloat screenScale(void);
|
|||
|
|
// CGFloat screenFontSize(void);
|
|||
|
|
// CGFloat screeniPhone6PlusScale(CGFloat value, CGFloat replaceValue);
|
|||
|
|
CGFloat controllerToolbarHeight(void);
|
|||
|
|
CGFloat homeIndicatorHeight(void);
|
|||
|
|
CGFloat safeAreaInsetsTop(void);
|
|||
|
|
CGFloat safeAreaInsetsLeft(void);
|
|||
|
|
CGFloat safeAreaInsetsRight(void);
|
|||
|
|
CGFloat homeProEditHeight(void);
|
|||
|
|
|
|||
|
|
#ifdef __cplusplus
|
|||
|
|
}
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
#define SCREEN_WIDTH_2 (SCREEN_WIDTH << 1)
|
|||
|
|
#define SCREEN_HEIGHT_2 (SCREEN_HEIGHT << 1)
|
|||
|
|
#define HOME_INDICATOR_HEIHT homeIndicatorHeight()
|
|||
|
|
#define SAFE_AREA_INSET_TOP safeAreaInsetsTop() // 安全区域top inset(横竖屏不一样)
|
|||
|
|
#define SAFE_AREA_INSET_LEFT safeAreaInsetsLeft() // 安全区域left inset
|
|||
|
|
#define SAFE_AREA_INSET_RIGHT safeAreaInsetsRight() // 安全区域right inset
|
|||
|
|
//#define HOME_PROEDIT_HEIGHT homeProEditHeight() //挂件列表相关位移
|
|||
|
|
|
|||
|
|
/**返回float*/
|
|||
|
|
//#define OPEN_AUTO_SCALE
|
|||
|
|
|
|||
|
|
//#define _size_W(value) fitScreenW(value)
|
|||
|
|
//#define _size_H(value) fitScreenH(value)
|
|||
|
|
//#define _size_S(value) fitScaleScreen(value)
|
|||
|
|
//#define _size_F(value) fitScaleFontScreen(value) //note by erwinkuang:手机系统设置字号缩放
|
|||
|
|
//#define _sizeScale screenScale()
|
|||
|
|
|
|||
|
|
//#define _size_W_6(value) fitScreenWidthBy6(value) //add by erwinkuang
|
|||
|
|
//#define _size_H_6(value) fitScreenHeightBy6(value)
|
|||
|
|
//#define _size_S_6(value) fitScaleScreenBy6(value)
|
|||
|
|
//#define _size_F_6(value) fontfitScreenWidthBy6(value) //add by erwinkuang:屏幕适配字号,设计提出:不按屏幕比例缩放 字号,故内部实现直接返回fitScaleFontScreen(value);
|
|||
|
|
//#define _getPTbyPX(value) getPTbyPX(value) //px转pt
|
|||
|
|
|
|||
|
|
//#define _size_S_W_6(value) fitSmallScreenWidthBy6(value) //nicohuang,设计要小屏幕单独适配 WTF!!!
|
|||
|
|
//针对AIO当前切换字体时候自动退出方案做处理添加方案切换宏方便后面及时改动
|
|||
|
|
//#define OPEN_AIO_AUTO_SCALE
|
|||
|
|
|
|||
|
|
// 这是竖屏的
|
|||
|
|
#define APPLICATION_FRAME_WIDTH ([UIScreen mainScreen].applicationFrame.size.width)
|
|||
|
|
#define APPLICATION_FRAME_HEIGHT ([UIScreen mainScreen].applicationFrame.size.height)
|
|||
|
|
|
|||
|
|
#define STATUSBAR_HEIGHT getStatusBarHeight()
|
|||
|
|
#define APPLICATION_WIDTH (SCREEN_WIDTH)
|
|||
|
|
#define APPLICATION_HEIGHT (SCREEN_HEIGHT - STATUSBAR_HEIGHT)
|
|||
|
|
|
|||
|
|
#ifndef IS_BIGGER_THEN_IPHONE_6
|
|||
|
|
#define IS_BIGGER_THEN_IPHONE_6 (MAX(SCREEN_WIDTH, SCREEN_HEIGHT) >= 667.0)
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
#ifndef IS_IPHONE_6P
|
|||
|
|
#define IS_IPHONE_6P (MAX(SCREEN_WIDTH, SCREEN_HEIGHT) == 736.0)
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
/*是否为刘海*/
|
|||
|
|
#define isIphoneX ({\
|
|||
|
|
BOOL isPhoneX = NO;\
|
|||
|
|
if (@available(iOS 11.0, *)) {\
|
|||
|
|
isPhoneX = [[UIApplication sharedApplication] delegate].window.safeAreaInsets.bottom > 0.0;\
|
|||
|
|
}\
|
|||
|
|
isPhoneX;\
|
|||
|
|
})
|
|||
|
|
|
|||
|
|
|
|||
|
|
#ifndef IS_3X_SCREEN
|
|||
|
|
#define IS_3X_SCREEN is3XScreen()
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
//#define FontScreenSize screenFontSize()
|
|||
|
|
//#define PLUSSCALE(value,replaceValue) screeniPhone6PlusScale(value,replaceValue)
|
|||
|
|
|
|||
|
|
#endif /* defined(__baseUI__UIScreenEx__) */
|
|||
|
|
|
|||
|
|
//
|
|||
|
|
//@interface UIScreen (externForFK)
|
|||
|
|
//+ (CGFloat)adjustWidth:(CGFloat)value;
|
|||
|
|
//+ (CGFloat)adjustHeight:(CGFloat)value;
|
|||
|
|
//+ (CGFloat)adjustSize:(CGFloat)value;
|
|||
|
|
//+ (CGFloat)adjustWidthBy6:(CGFloat)value;
|
|||
|
|
//+ (CGFloat)adjustHeightBy6:(CGFloat)value;
|
|||
|
|
//+ (CGFloat)adjustFontSizeBy6:(CGFloat)value;
|
|||
|
|
//+ (CGFloat)getStatusBarHeight;
|
|||
|
|
//+ (CGFloat)getScreenWidth;
|
|||
|
|
//+ (CGFloat)getScreenHeight;
|
|||
|
|
//@end
|
|||
|
|
//
|
|||
|
|
|