如何在SwiftUI中使用DragGesture更改对象的高度?
我试图通过使用“dragger”(圆角灰色矩形)元素来增加形状的高度。我使用SwiftUI提供的如何在SwiftUI中使用DragGesture更改对象的高度?,swiftui,Swiftui,我试图通过使用“dragger”(圆角灰色矩形)元素来增加形状的高度。我使用SwiftUI提供的DragGesture帮助程序获取用户手指的当前位置。不幸的是,在拖动事件期间,由于某些原因,内容正在跳跃 你能帮我找出问题的根本原因吗 这是拖动事件期间的外观 如果我移除Spacer()一切正常,但不是我想要的 这是我的代码片段 import SwiftUI struct ContentView: View { var body: some View { VStack {
DragGesture
帮助程序获取用户手指的当前位置。不幸的是,在拖动事件期间,由于某些原因,内容正在跳跃
你能帮我找出问题的根本原因吗
这是拖动事件期间的外观
如果我移除Spacer()
一切正常,但不是我想要的
这是我的代码片段
import SwiftUI
struct ContentView: View {
var body: some View {
VStack {
CustomDraggableComponent()
Spacer() // If comment this line the result will be as on the bottom GIF example
}
}
正确的计算方法是
.gesture(
DragGesture()
.onChanged { value in
height = max(MIN_HEIGHT, height + value.translation.height)
}
)
此外,删除无限宽度。这是无效的
.frame(minHeight: 0, maxHeight: height)
or
.frame(minWidth: 0, maxWidth: .infinity, minHeight: 0, maxHeight: height)
谢谢,问题出在
height
属性中。我算错了
.frame(minHeight: 0, maxHeight: height)
or
.frame(minWidth: 0, maxWidth: .infinity, minHeight: 0, maxHeight: height)