如何在SwiftUI中为角度(度:0)绘制旋转效果上的实时阴影



这对我来说是一个非常奇怪的bug或问题!我有一个红色的Rectangle((,它随着用户的单次点击而旋转,之后我的Rectance((有一个阴影视图。旋转后,Rectangle((有一个以上的阴影视图,它们被渲染在一起,无法工作!这对我来说不符合逻辑,为什么会发生这种事?shadow必须只返回1个视图,但在这种情况下,对于Angle(度:0(返回多个视图。如果您从0个以上开始,一切都很好。例如,使用this:Angle(度数:10(。一旦你用角度(度:0(启动应用程序,它就不会工作!

struct ContentView: View {
@State var rotationAngle: Angle = Angle(degrees: 0) //← Here
var body: some View {



Rectangle()
.fill(Color.red)
.frame(width: 200, height: 100, alignment: .center)
.rotationEffect(rotationAngle)
.onTapGesture
{
rotationAngle += Angle(degrees: 10)
}
.shadow(color: Color.black, radius: 10, x: 0, y: 20)







}
}

这是我暂时使用的救星:

.rotationEffect(rotationAngle == Angle(degrees: 0) ? Angle(degrees: 0.001) : rotationAngle)

你的是什么?

Xcode 12.1/iOS 14.1解决了该问题,这是旧版本的一个错误。

最新更新