我有一个“卡片”视图,可以向左或向右滑动,其中包含一个TextField。但是,TextField不允许我对其进行编辑。我不明白。我看到的每个教程,TextField都可以毫无问题地编辑。我在这里做什么错了?
编辑:我发现TextField被用作手势识别的一部分。我可以在TextField上拖动,它将移动整个卡。如何使文本字段不可拖动但仍保留在卡片中并在拖动图像时拖动?
return VStack {
Image("food")
.resizable()
.aspectRatio(1.0, contentMode: .fit)
.clipShape(RoundedRectangle(cornerRadius: 50))
TextField("Leave a comment", text: $comment) {
self.commentText = self.comment
}
.padding()
.background(Color(red: 239.0/255.0, green: 243.0/255.0, blue: 244.0/255.0, opacity: 1.0), cornerRadius: 10.0)
}
.padding()
.shadow(color: Color.black, radius: 15, x: 2, y: 2)
.offset(
x: viewState.width + dragState.translation.width
)
.gesture(longPressDrag)
.presentation($showAlert) {
Alert(title: Text("User commented on this photo!"), message: Text(commentText), primaryButton: .default(Text("OK")) {
self.viewState = CGSize.zero
}, secondaryButton: .cancel()
)
}
}
}