diff --git a/SwiftUIPlayground.xcodeproj/project.xcworkspace/xcuserdata/tahatesser.xcuserdatad/UserInterfaceState.xcuserstate b/SwiftUIPlayground.xcodeproj/project.xcworkspace/xcuserdata/tahatesser.xcuserdatad/UserInterfaceState.xcuserstate index 9f0547e..5dcb735 100644 Binary files a/SwiftUIPlayground.xcodeproj/project.xcworkspace/xcuserdata/tahatesser.xcuserdatad/UserInterfaceState.xcuserstate and b/SwiftUIPlayground.xcodeproj/project.xcworkspace/xcuserdata/tahatesser.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/SwiftUIPlayground/Samples.swift b/SwiftUIPlayground/Samples.swift index 60e1439..ff31838 100644 --- a/SwiftUIPlayground/Samples.swift +++ b/SwiftUIPlayground/Samples.swift @@ -41,6 +41,8 @@ public let samples: [String: AnyView] = [ [ // https://developer.apple.com/documentation/swiftui/view/containerrelativeframe(_:alignment:) "Container Relative Frame": AnyView(ContainerRelativeFrameSample()), + // https://developer.apple.com/documentation/swiftui/view/safeareainset(edge:alignment:spacing:content:)-6gwby + "safeAreaInset": AnyView(SafeAreaInsetSample()), ] )), "Drawing and Graphics": AnyView(SamplesList( diff --git a/SwiftUIPlayground/Samples/LayoutAdjustments/SafeAreaInsetSample.swift b/SwiftUIPlayground/Samples/LayoutAdjustments/SafeAreaInsetSample.swift new file mode 100644 index 0000000..bd22a25 --- /dev/null +++ b/SwiftUIPlayground/Samples/LayoutAdjustments/SafeAreaInsetSample.swift @@ -0,0 +1,41 @@ +// +// SafeAreaInsetSample.swift +// SwiftUIPlayground +// +// Created by Taha Tesser on 27.09.2024. +// + +import SwiftUI + +struct SafeAreaInsetSample: View { + var body: some View { + NavigationStack { + List { + Text("One") + Text("Two") + Text("Three") + } + .navigationTitle("Safe Area Inset") + .navigationBarTitleDisplayMode(.inline) + .safeAreaInset(edge: .top, spacing: 0) { + HStack { + Spacer() // Pushes the Menu to the trailing end + + Menu { + Button("Set In Point", action: {}) + Button("Set Out Point", action: {}) + } label: { + Label("Editing", systemImage: "ellipsis.circle") + .font(.headline) + .foregroundColor(.blue) + } + } + .padding(.horizontal) + } + } + } +} + +#Preview { + SafeAreaInsetSample() +}