文章

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

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

导航栏/TabBar

导航栏高度不一定都是 44pt,TabBar 高度也不一定都是 49pt。推荐在布局完成后通过代码获取实际高度。


状态栏和安全区域

在普通 iPhone 全屏 App 中,系统状态栏通常在竖屏时显示、横屏时隐藏,但实际行为会受控制器配置、系统界面和当前状态影响。视频类 App 在横屏时看到的“时间 + 电量”通常是自定义界面,不应依赖固定的系统状态栏高度。


安全区域 API 从 iOS 11 开始提供,并不只适用于刘海屏。刘海、灵动岛和 Home Indicator 会让顶部、底部或横屏两侧出现非零 inset。状态栏高度与安全区域顶部也不一定相等,例如 iPhone Air 的状态栏为 54pt,而竖屏顶部安全区为 68pt。


以下数据更新于 2026-07-23,最新机型使用 Xcode 26.5 / iOS 26.5 模拟器实测,并与 Apple 官方规格交叉核对。宽高均按“宽 × 高”排列;安全区域顺序为 {top, left, bottom, right},单位均为 pt。


手机机型屏幕尺寸(inch)屏幕宽高(pt)原生像素分辨率(px)屏幕比例倍图状态栏高度(pt)安全区域(竖屏 / 横屏,pt)
17 Pro Max / 16 Pro Max6.9440 × 9561320 × 286819.5:9@3x54{62, 0, 34, 0} / {0, 62, 20, 62}
iPhone Air6.5420 × 9121260 × 273619.5:9@3x54{68, 0, 34, 0} / {0, 68, 20, 68}
17 / 17 Pro / 16 Pro6.3402 × 8741206 × 262219.5:9@3x54{62, 0, 34, 0} / {0, 62, 20, 62}
16 Plus / 15 Pro Max / 15 Plus / 14 Pro Max6.7430 × 9321290 × 279619.5:9@3x54{59, 0, 34, 0} / {0, 59, 20, 59}
16 / 15 Pro / 15 / 14 Pro6.1393 × 8521179 × 255619.5:9@3x54{59, 0, 34, 0} / {0, 59, 20, 59}
17e / 16e / 14 / 13 Pro / 13 / 12 Pro / 126.1390 × 8441170 × 253219.5:9@3x47{47, 0, 34, 0} / {0, 47, 20, 47}
14 Plus / 13 Pro Max / 12 Pro Max6.7428 × 9261284 × 277819.5:9@3x47{47, 0, 34, 0} / {0, 47, 20, 47}
13 mini / 12 mini5.4360 × 7801080 × 234019.5:9@3x50{50, 0, 34, 0} / {0, 50, 20, 50}
11 Pro Max6.5414 × 8961242 × 268819.5:9@3x44{44, 0, 34, 0} / {0, 44, 20, 44}
116.1414 × 896828 × 179219.5:9@2x48{48, 0, 34, 0} / {0, 48, 20, 48}
11 Pro5.8375 × 8121125 × 243619.5:9@3x44{44, 0, 34, 0} / {0, 44, 20, 44}
XS Max6.5414 × 8961242 × 268819.5:9@3x44{44, 0, 34, 0} / {0, 44, 21, 44}
XR6.1414 × 896828 × 179219.5:9@2x48{48, 0, 34, 0} / {0, 48, 21, 48}
XS / X5.8375 × 8121125 × 243619.5:9@3x44{44, 0, 34, 0} / {0, 44, 21, 44}
8 Plus / 7 Plus / 6S Plus / 6 Plus5.5414 × 7361080 × 192016:9@3x20{20, 0, 0, 0} / {0, 0, 0, 0}
SE(第 3/2 代)/ 8 / 7 / 6S / 64.7375 × 667750 × 133416:9@2x20{20, 0, 0, 0} / {0, 0, 0, 0}
SE(第 1 代)/ 5S4.0320 × 568640 × 113616:9@2x20{20, 0, 0, 0} / {20, 0, 0, 0}
5C / 54.0320 × 568640 × 113616:9@2x20不支持(最高系统低于 iOS 11)
4S / 43.5320 × 480640 × 9603:2@2x20不支持(最高系统低于 iOS 11)


  • 上表按标准显示模式、普通全屏 UIKit App、竖屏显示状态栏、横屏由系统隐藏状态栏统计;开启“放大显示”、隐藏状态栏或出现通话等系统界面时,返回值可能变化。
  • 带 Home Indicator 的机型,竖屏 bottom 通常为 34;iOS 26 横屏实测为 20,iOS 18 及更早版本通常为 21。XS/XR/X 无法升级 iOS 26,表中保留 21。
  • Apple 当前布局规格将 12/13 mini 标为 360 × 780pt;旧系统或兼容模式可能返回 375 × 812pt。旧款 Plus 的 UIKit 倍图与原生缩放比例也可能不同,应以运行时结果为准。
  • 表格适合查阅和测试,不适合在业务代码中按机型硬编码;应始终读取当前窗口、视图的 safeAreaInsetsstatusBarFrame

参考链接

本文由作者按照 CC BY 4.0 进行授权