iOS/Swift + Objective-c

[iOS] Safe Area Top, Bottom 높이 조회 (status bar height)

안경 쓴 귀니 2022. 1. 10. 19:11
반응형

Safe Area Top과 Bottom 높이 조회하는 방법

Safe Area Top 높이는 Status bar 높이와 동일합니다.

 

  • Objective-c
if (@available(iOS 11.0, *)) {
    UIWindow *window = UIApplication.sharedApplication.windows.firstObject;
    CGFloat top = window.safeAreaInsets.top;
    CGFloat bottom = window.safeAreaInsets.bottom;
    NSLog(@"top : %f", top);
    NSLog(@"bottom : %f", bottom);
}

 

  • Swift
if #available(iOS 13.0, *) {
    let window = UIApplication.shared.windows.first
    let top = window?.safeAreaInsets.top
    let bottom = window?.safeAreaInsets.bottom
    print("top : \(String(describing: top))")
    print("bottom : \(String(describing: bottom))")
    
} else if #available(iOS 11.0, *) {
    let window = UIApplication.shared.keyWindow
    let top = window?.safeAreaInsets.top
    let bottom = window?.safeAreaInsets.bottom
    print("top : \(String(describing: top))")
    print("bottom : \(String(describing: bottom))")
}

 

 

위 방법으로 직접 조회할 수 있으며, 일반적으로 아래 값입니다.

  • 노치 디자인
    - top : 44pt
    - bottom : 34pt
  • 일반 디자인
    - top : 20pt
    - bottom : 0pt
반응형