SafeAreaInsets Size for SwiftUI padding

i already used .padding(.top, UIApplication.shared.windows[0].safeAreaInsets.top)

but in swiftui 3 and iOS 15 i got this warning

'windows' was deprecated in iOS 15.0: Use UIWindowScene.windows on a relevant window scene instead

so in new version what is the best way for getting safe area insets?

i can't use GeometryRedaer

Answered by stod in 684435022

you can use it by adapting it to your need ;)

func getSafeAreaTop()->CGFloat{

		let keyWindow = UIApplication.shared.connectedScenes

			.filter({$0.activationState == .foregroundActive})

			.map({$0 as? UIWindowScene})

			.compactMap({$0})

			.first?.windows

			.filter({$0.isKeyWindow}).first

		

		return (keyWindow?.safeAreaInsets.top)!

	}
Accepted Answer

you can use it by adapting it to your need ;)

func getSafeAreaTop()->CGFloat{

		let keyWindow = UIApplication.shared.connectedScenes

			.filter({$0.activationState == .foregroundActive})

			.map({$0 as? UIWindowScene})

			.compactMap({$0})

			.first?.windows

			.filter({$0.isKeyWindow}).first

		

		return (keyWindow?.safeAreaInsets.top)!

	}
SafeAreaInsets Size for SwiftUI padding
 
 
Q