作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我刚开始使用 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/
我是一名优秀的程序员,十分优秀!