iOS 16 SwiftUI 4.0 中的新增功能,苹果引入了新的视图修饰符presentationDetents(),用于在带有上滑动画的表单呈现时控制表单呈现的大小。
基础代码
假设我们有BottomSheet关闭按钮。
struct BottomSheet: View {
@Environment(\.presentationMode) var presentationMode
var body: some View {
VStack {
Text("Some View")
Button("Dismiss Me") {
presentationMode.wrappedValue.dismiss()
}
}
}
}
底部工作表视图上方呈现呈现视图高度的 50%
假设我们想要在底部工作表视图上方呈现呈现视图高度的 50%。我们可以使用presentationDetent默认样式的medium. PresentationDetent.medium=> 大约为屏幕一半高度的纸张的系统定位,并且在紧凑高度时处于非活动状态。
struct ContentView: View {
@State
private var isPresented: Bool = false
var body: some View {
Button("Present Sheet") {
isPres