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

上一篇 下一篇

猜你喜欢

热点阅读