gpt4 book ai didi

ios - subview 有 parent 的影子,即使有背景

转载 作者:行者123 更新时间:2023-11-29 11:26:14 24 4
gpt4 key购买 nike

所以我刚开始使用 SwiftUI 进行开发,但遇到了一个小问题。 subview 也会显示父 View 的阴影,即使父 View 有背景。有人知道如何解决这个问题吗?

HStack {
HStack {
[...]
}
.padding(.leading, 12.0)
.padding(.trailing, 4.0)
.padding(.vertical, 16.0)
.background(Color("lightGreen"))
.cornerRadius(10)
}
.padding(8)
.background(Color.white)
.shadow(color: Color("tabShadow"), radius: 0.0, x: 0.0, y: -0.5)
.shadow(color: Color("tabShadow"), radius: 0.0, x: 0.0, y: 0.5)

如前所述,第一个 HStack 的影子不应复制到子 HStack 中,但它确实如此。虽然只有第一个。有什么提示吗?

最佳答案

某些修饰符在放置在堆栈上时会被其所有子项继承。例如,如果您有一个包含一堆 TextView 的堆栈,您可以在堆栈上放置一个 .font() 修饰符,它们都会被修改。

看起来 .shadow() 是这些修饰符之一。至于为什么只有一个被继承,我怀疑 SwiftUI 的设计者不希望 .shadow() 在特定 View 上被多次调用,并且没有对此进行测试。

如果你只是想在 View 的顶部和底部画一条彩色线,也许可以尝试类似的方法

.background(Color.white)
.background(Color("tabShadow").offset(x: 0, y: -0.5))
.background(Color("tabShadow").offset(x: 0, y: 0.5))

关于ios - subview 有 parent 的影子,即使有背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58667109/

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