美文网首页
iOS UI适配-UIManager

iOS UI适配-UIManager

作者: 和女神经常玩 | 来源:发表于2022-12-13 20:46 被阅读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

相关文章

网友评论

      本文标题:iOS UI适配-UIManager

      本文链接:https://www.haomeiwen.com/subject/dpacqdtx.html