gpt4 book ai didi

ios - SwiftUI - 添加阴影会扰乱 TextField 的交互性吗?

转载 作者:行者123 更新时间:2023-12-01 21:58:12 31 4
gpt4 key购买 nike

我正在为 Catalyst Mac 应用程序创建一个简单的 SwiftUI View ,如下所示:

var body: some View {
ZStack {
Color(envColor.getColor())
HStack {
Spacer()
VStack {
HStack {
TextField("First", text: $envColor.stringR)
TextField("Second", text: $envColor.stringG)
}
}
.frame(minWidth: 0, maxWidth: .infinity, minHeight: 100, maxHeight: 200)
.background(Color.gray)

Spacer()
VStack {
Text("Right Side")
}
.frame(minWidth: 0, maxWidth: .infinity, minHeight: 100, maxHeight: 200)

Spacer()
}

}
}

当我运行应用程序时,它看起来像这样:
带有 2 个文本框的简单 View 。您可以毫无问题地自由输入它们。

App

您可以毫无问题地突出显示和编辑任一 255。

但是,当我像这样向 VStack 添加阴影时:
var body: some View {
ZStack {
Color(envColor.getColor())
HStack {
Spacer()
VStack {
HStack {
TextField("First", text: $envColor.stringR)
TextField("Second", text: $envColor.stringG)
}
}
.frame(minWidth: 0, maxWidth: .infinity, minHeight: 100, maxHeight: 200)
.background(Color.gray)
.shadow(radius: 5)

Spacer()
VStack {
Text("Right Side")
}
.frame(minWidth: 0, maxWidth: .infinity, minHeight: 100, maxHeight: 200)

Spacer()
}

}
}

该应用程序看起来完全一样,但我无法输入 TextField完全没有。它们没有突出显示,我也无法输入它们。我查看了调试 View 层次结构, TextField 看起来不错s 在前面。

Here's a video我将它与阴影一起使用。如您所见,光标没有改变让我编辑。

向 VStack 添加阴影实际上会导致问题吗?我做错了什么?或者这是一个错误?

最佳答案

可能这是一个缺陷 - 您可以向 Apple 提交反馈。同时我可以提出解决方案 - 将阴影放入背景:

使用 Xcode 11.4/macOS 10.15.4 测试

demo

VStack {
HStack {
TextField("First", text: $first)
TextField("Second", text: $second)
}
}
.frame(minWidth: 0, maxWidth: .infinity, minHeight: 100, maxHeight: 200)
.background(Color.gray.shadow(radius: 5)) // << here !!

关于ios - SwiftUI - 添加阴影会扰乱 TextField 的交互性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60954234/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com