在SwiftUI iOS 16中向上拖动工作表时,是否可以获得工作表的高度,四个?

ufj5ltwl  于 2023-04-28  发布在  Swift
关注(0)|答案(1)|浏览(117)

iOS 16.4增加了允许我们指定演示止动器的功能。例如:

@State var isSheetPresented: Bool = false
@State var detent: PresentationDetent = .height(200)

MyView()
.sheet(isPresented: $isSheetPresented) {
    MySecondView()
}
.presentationDetents([.height(200), .height(500)], selection: $detent)

现在detent有两个设置,200和500,当用户在工作表上向上或向下滑动时,它会切换。在iOS 16中是否可以。4来确定在此刷过程中纸张的高度?在滑动期间,高度从200变为500,如果我想基于此值的一些动画,我可以这样做吗?

sdnqo3pr

sdnqo3pr1#

在Geometry Reader中 Package MySecondView()(在工作表闭包中或在其实际结构中)。然后它的代理的height属性会给予你想要的值。

MyView()
.sheet(isPresented: $isSheetPresented) {
    Geometry Reader { proxy in
        MySecondView()
    }
    // access proxy.size.height here
}

相关问题