iOS UI适配-UIManager
2022-12-13 本文已影响0人
和女神经常玩
接口部分
@interface UIManager : NSObject
@property (assign,nonatomic,readonly) CGFloat screenWdith;
@property (assign,nonatomic,readonly) CGFloat screenHeight;
+ (UIConfig *)shared;
+ (CGFloat)topSafeArea;
+ (CGFloat)bottomSafeArea;
+ (CGFloat)leftSafeArea;
+ (CGFloat)rightSafeArea;
@end
实现部分
@interface UIManager ()
@end
@implementation UIManager
{
CGFloat _screenWdith;
CGFloat _screenHeight;
}
+ (UIConfig *)shared
{
static UIConfig * uiManager;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
uiManager = [[UIManager alloc] init];
});
return uiManager;
}
- (instancetype)init
{
self = [super init];
if (self) {
_screenWdith = 0;
_screenHeight = 0;
}
return self;
}
-(CGFloat)screenWdith
{
if (_screenWdith == 0) {
_screenWdith = UIScreen.mainScreen.bounds.size.width;
}
return _screenWdith;
}
-(CGFloat)screenHeight
{
if (_screenHeight == 0) {
_screenHeight = UIScreen.mainScreen.bounds.size.height;
}
return _screenHeight;
}
+ (UIEdgeInsets)safeAreaInsets
{
UIEdgeInsets insets = UIEdgeInsetsZero;
if (@available(iOS 11, *)) {
insets = [UIApplication sharedApplication].delegate.window.safeAreaInsets;
}
return insets;
}
+ (CGFloat)topSafeArea
{
return [self safeAreaInsets].top;
}
+ (CGFloat)bottomSafeArea
{
return [self safeAreaInsets].bottom;
}
+ (CGFloat)leftSafeArea
{
return [self safeAreaInsets].left;
}
+ (CGFloat)rightSafeArea
{
return [self safeAreaInsets].right;
}
@end