文章

iOS 获取各种机型的 导航栏、状态栏、TabBar、安全区域高度

导航栏

导航栏高度固定都是 44pt。


状态栏和安全区域

iOS 控制器不管在竖屏时状态栏是否显示,在横屏时系统都是隐藏状态栏的,各家视频类 App 都是在横屏时添加自定义的状态栏,基本就是显示:时间+电量


安全区域的概念是刘海屏出来后才开始有的,目前所有 iPhone 机型的状态栏高度不固定,就算同样是刘海屏,状态栏高度也可能不一样;状态栏高度和安全区域顶部的高度也可能不一致。具体见下表:


手机机型屏幕尺寸(inch)屏幕宽高(pt)像素分辦率(px)屏幕比例倍图状态栏高度安全区域(横/竖屏)
iPhone 15 Pro Max/iPhone 15 Plus/iPhone 14 Pro Max6.7932 x 4302796 × 129019.5: 9@3x54{59, 0, 34, 0} / {0, 59, 21, 59}
iPhone 15 Pro/iPhone 15/iPhone 14 Pro6.1852 x 3932556 x 117919.5: 9@3x54{59, 0, 34, 0} / {0, 59, 21, 59}
iPhone 14 Plus/13 Pro Max/12 Pro Max6.7926 x 4282778 x 128419.5: 9@3x47{47, 0, 34, 0} / {0, 47, 21, 47}
iPhone 14/13 Pro/13/12 Pro/126.1844 x 3902532 x 117019.5: 9@3x47{47, 0, 34, 0} / {0, 47, 21, 47}
iPhone 13 mini/12 mini5.4812 × 3752340 x 108019.5:9@3x50{50, 0, 34, 0} / {0, 50, 21, 50}
iPhone 11 Pro Max/Xs Max6.7896 x 4142688 x 124219.5: 9@3x44{44, 0, 34, 0} / {0, 44, 21, 44}
iPhone 11/XR6.1896 × 4142688 x 124219.5: 9@2x48{48, 0, 34, 0} / {0, 48, 21, 48}
iPhone 11 Pro/Xs/X5.8812 x 3752436 x 112519.5: 9@3x44{44, 0, 34, 0} / {0, 44, 21, 44}
iPhone 8 Plus/7 Plus/6S Plus/6 Plus5.5736 × 4142208 x 124216: 9@3x20-
iPhone SE 3/SE 2/8/7/6S/64.7667 × 3751334 x 75016: 9@2x20-
iPhone SE/5S/5C/54568 x 3201136 x 64016: 9@2x20-
iPhone 4S/43.5480 x 320960 x 6403:2@2x20-


  • 竖屏时,安全区域的 top 不固定;left 和 right 都是 0;bottom 固定都是 34
  • 横屏时,安全区域的 top 固定为 0;left 和 right 都等于同手机竖屏时的 top;bottom 固定都是 21
本文由作者按照 CC BY 4.0 进行授权