Swiftui 让形状在同一层上
在下面的代码中,由于阴影的原因,蓝色矩形看起来略高于红色矩形 有没有可能让它们看起来像在同一层上,这样就没有一个阴影在其他阴影之上?谢谢Swiftui 让形状在同一层上,swiftui,Swiftui,在下面的代码中,由于阴影的原因,蓝色矩形看起来略高于红色矩形 有没有可能让它们看起来像在同一层上,这样就没有一个阴影在其他阴影之上?谢谢 我假设您需要合成组(所以阴影一次应用于所有矩形,而不是一个) }//ZStack(容器) .padding() .compositingGroup()//啊,你完全正确,我忘了这个,再次感谢。 import SwiftUI import PlaygroundSupport typealias HA = HorizontalAlignment typeali
我假设您需要合成组(所以阴影一次应用于所有矩形,而不是一个)
}//ZStack(容器)
.padding()
.compositingGroup()//啊,你完全正确,我忘了这个,再次感谢。
import SwiftUI
import PlaygroundSupport
typealias HA = HorizontalAlignment
typealias VA = VerticalAlignment
let w: CGFloat = 200
let h: CGFloat = 100
let r1 = Rectangle().padding(1).frame(w, h).foregroundColor(.pink)
let r2 = Rectangle().padding(1).frame(h, w).foregroundColor(.blue)
// live view
struct ContentView: View {
var body: some View {
ZStack {
r1
.alignmentGuide(HA.center) { $0[.leading] }
.alignmentGuide(VA.center) { $0[.bottom] }
r1
.alignmentGuide(HA.center) { $0[.trailing] }
.alignmentGuide(VA.center) { $0[.top] }
r2
.alignmentGuide(HA.center) { $0[.trailing] }
.alignmentGuide(VA.center) { $0[.bottom] }
r2
.alignmentGuide(HA.center) { $0[.leading] }
.alignmentGuide(VA.center) { $0[.top] }
}// ZStack (container)
.padding()
.shadow(color: .black, radius: 8, x: 8, y: 8)
.background(Color.gray)
}
}
PlaygroundPage.current.setLiveView(ContentView())
}// ZStack (container)
.padding()
.compositingGroup() // << here !!