Skip to content

Instantly share code, notes, and snippets.

@DaisukeNagata
Last active February 2, 2020 23:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save DaisukeNagata/3897782246db07fb7b64b8e791ddb842 to your computer and use it in GitHub Desktop.
Save DaisukeNagata/3897782246db07fb7b64b8e791ddb842 to your computer and use it in GitHub Desktop.
Check SafeArea
import SwiftUI
struct ContentView: View {
var body: some View {
GeometryReader { geometry in
Text("123")
.frame(width: geometry.size.width, height: geometry.size.height, alignment: .center)
.background(self.safeArea(geometry) ? Color.green:Color.red)
.onAppear {
self.allSafeArea(geometry)?.compactMap { m in
print(m)
}.first
}
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
extension ContentView {
func allSafeArea(_ safeArea: GeometryProxy) -> [CGFloat]? {
var safeAreaArray = [CGFloat]()
safeAreaArray.append(safeArea.safeAreaInsets.top)
safeAreaArray.append(safeArea.safeAreaInsets.bottom)
safeAreaArray.append(safeArea.safeAreaInsets.leading)
return safeAreaArray
}
func safeArea(_ safeArea: GeometryProxy) -> Bool {
return safeArea.safeAreaInsets.bottom == 0 ? false : true
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment