主页 获取UIWindow的边界距离
Post
Cancel

获取UIWindow的边界距离

前言

本文具有强烈的个人感情色彩,如有观看不适,请尽快关闭. 本文仅作为个人学习记录使用,也欢迎在许可协议范围内转载或使用,请尊重版权并且保留原文链接,谢谢您的理解合作. 如果您觉得本站对您能有帮助,您可以使用RSS方式订阅本站,这样您将能在第一时间获取本站信息.

2021第一篇发布记录开发中遇到的费时间问题

新工程经常遇到解决刘海屏的距离问题

写了一个工具类用于记录边界

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#import <Foundation/Foundation.h>

#define YZAreaInsets [YZUtilTool yz_safeAreaInsets]


@interface YZUtilTool : NSObject

+ (UIEdgeInsets)yz_safeAreaInsets;

@end


@implementation YZUtilTool

+ (UIEdgeInsets)yz_safeAreaInsets {
    UIWindow *window = [UIApplication sharedApplication].windows.firstObject;
    if (![window isKeyWindow]) {
        UIWindow *keyWindow = [UIApplication sharedApplication].keyWindow;
        if (CGRectEqualToRect(keyWindow.bounds, [UIScreen mainScreen].bounds)) {
            window = keyWindow;
        }
    }
    if (@available(iOS 11.0, *)) {
        UIEdgeInsets insets = [window safeAreaInsets];
        return insets;
    }
    return UIEdgeInsetsZero;
}


@end

记录过程代码.

该博客文章由作者通过 CC BY 4.0 进行授权。