Swift获取状态栏高度通过SceneDelegate方式

获取状态栏高度在 iOS 开发中是个挺常见的需求,尤其是当你需要根据状态栏来布局 UI 的时候。在 Swift 中,iOS 13 之后,Scene Delegate 管理应用生命周期,所以获取状态栏高度的方法也有点变化。以前你习惯在AppDelegate中操作,但现在应该在SceneDelegate中获取。具体做法简单,导入UIKit,监听窗口变化,通过safeAreaInsets来获取状态栏高度。这样,你就能实时获取到状态栏的高度了。值得注意的是,状态栏的高度因设备不同(比如刘海屏)会有所不同,所以尽量实时获取,避免布局错乱。想要了解具体实现,代码也简洁,跟着做就行。

zip
Swift-获取状态栏的高度(走SceneDelegate).zip 预估大小:61个文件
folder
Swift-获取状态栏的高度(走SceneDelegate) 文件夹
file
.DS_Store 6KB
folder
demol.xcodeproj 文件夹
file
project.pbxproj 24KB
folder
xcuserdata 文件夹
folder
fenghanxu.xcuserdatad 文件夹
folder
xcdebugger 文件夹
file
Breakpoints_v2.xcbkptlist 850B
folder
xcschemes 文件夹
file
xcschememanagement.plist 340B
folder
project.xcworkspace 文件夹
folder
xcshareddata 文件夹
folder
swiftpm 文件夹
folder
configuration 文件夹
file
IDEWorkspaceChecks.plist 238B
file
contents.xcworkspacedata 135B
folder
xcuserdata 文件夹
folder
fenghanxu.xcuserdatad 文件夹
file
UserInterfaceState.xcuserstate 26KB
folder
.git 文件夹
file
index 2KB
file
HEAD 21B
folder
refs 文件夹
folder
heads 文件夹
file
main 41B
folder
tags 文件夹
file
COMMIT_EDITMSG 15B
folder
objects 文件夹
folder
c3 文件夹
file
1ae8ee170d08d6ce1711894817f52a1a9a6bc4 239B
folder
dd 文件夹
file
3c9afdae35805086796848ae7dfa52ec858a07 367B
file
b135f24cc86def1a774d1ff82d23daf4c558a5 63B
folder
c1 文件夹
file
eb5efc2dace3a3f10a6a2246c4d8fb79bdf24d 139B
folder
13 文件夹
file
613e3ee1a9348462a11a77a619faa808a346eb 133B
folder
00 文件夹
file
c7ff6e0837a09bc3e298cfc60218305b6b3929 4KB
file
94c9846cdbe0e73a44bebdf09a408adff74ba7 105B
folder
7b 文件夹
file
fabcfdc85104be0ffd62e233209b304e93ac4f 140B
folder
59 文件夹
file
a9ad54d490bcf321d1428c9ab1fa43f083d918 132B
folder
86 文件夹
file
5e9329f3767a7c1dd66294b8025bf81dee7d2c 781B
folder
76 文件夹
file
269e7ff1368609468d8e5a08d05fd40ef78e1e 606B
folder
eb 文件夹
file
fb032c57eb3dad8cf1d9c1e850285d62771d84 58B
file
8789700816459c1e1480e0b34781d9fb78a1ca 105B
folder
5c 文件夹
file
ef14d3ec098fba445eca076466845e78ea0280 68B
folder
91 文件夹
file
9434a6254f0e9651f402737811be6634a03e9c 117B
folder
53 文件夹
file
a310175f3fbeb504a6b75da622acb84498c6e0 246B
folder
96 文件夹
file
784f1ebf879823e129f8d24293b33d1ccf8819 51B
folder
30 文件夹
file
f61801f00a3160102b50a2b461090a10bc3f0e 668B
folder
b6 文件夹
file
2619d9c3c4bce2f709f5e22e831aea0531b25f 958B
folder
pack 文件夹
folder
39 文件夹
file
ceb4ebd0126d5aac2d177ef40b4de4ff2ecd16 95B
folder
5d 文件夹
file
da57afdcd1fc76f537573449b3a81b638746f3 61B
folder
info 文件夹
folder
25 文件夹
file
a763858ecdbea5c897a9fd8fa2225d7223d2ad 749B
folder
18 文件夹
file
d981003d68d0546c4804ac2ff47dd97c6e7921 206B
folder
73 文件夹
file
c00596a7fca3f3d4bdd64053b69d86745f9e10 66B
folder
8e 文件夹
file
15823be3235da9b286a65164b676ba99bac628 206B
folder
98 文件夹
file
6bd324c26d854187559f27f8194c8afd1795ac 58B
folder
31 文件夹
file
722e9d6765cced8b5579ac6a5bf3f38914ab6c 142B
folder
d2 文件夹
file
6af08b169f44bdde0a00c7e460c40a62b28dbf 552B
file
42598996f68dceef9e5929eaa0e9e63c35cef5 441B
folder
c4 文件夹
file
3cc9b8ba4e4ae5c6df5ed5e3f199668b7fead0 68B
folder
69 文件夹
file
9df098625f128382071ae9707970fe8a086464 95B
file
description 73B
folder
info 文件夹
file
exclude 40B
folder
logs 文件夹
file
HEAD 163B
folder
refs 文件夹
folder
heads 文件夹
file
main 163B
folder
hooks 文件夹
file
README.sample 177B
file
config 137B
folder
demolUITests 文件夹
file
demolUITests.swift 1KB
file
demolUITestsLaunchTests.swift 794B
folder
demol 文件夹
folder
Base.lproj 文件夹
file
Main.storyboard 2KB
file
LaunchScreen.storyboard 2KB
file
Device.swift 172B
file
SceneDelegate.swift 2KB
file
AppDelegate.swift 1KB
file
ViewController.swift 947B
file
Info.plist 704B
folder
Assets.xcassets 文件夹
file
Contents.json 63B
folder
AppIcon.appiconset 文件夹
file
Contents.json 177B
folder
AccentColor.colorset 文件夹
file
Contents.json 123B
folder
demolTests 文件夹
file
demolTests.swift 1KB
...
zip 文件大小:80.81KB