Dès Beta 2 Beta 3, vous ne pouvez pas présenter une View
modale en tant que .fullScreen
. Elle se présente comme .automatic -> .pageSheet
. Même une fois que ce sera corrigé, je doute fortement qu'ils vous donnent gratuitement la capacité de glisser. Cela serait déjà inclus dans la documentation.
Vous pouvez utiliser cette réponse pour présenter en plein écran pour le moment. Gist ici.
Ensuite, après la présentation, voici un exemple rapide et simple de comment vous pouvez recréer cette interaction.
@State var drag: CGFloat = 0.0
var body: some View {
ZStack(alignment: .bottom) {
Spacer() // Utilisez tout l'espace
Color.red
.frame(maxHeight: 300 + self.drag) // La hauteur minimale que vous souhaitez, plus le décalage de glissement
.gesture(
DragGesture(coordinateSpace: .global) // si vous utilisez .local le cadre va sauter
.onChanged({ (value) in
self.drag = max(0, -value.translation.height)
})
)
}
}