无法将类型“ Int”的值转换为预期的参数类型“角度”。 Xcode 11,Mac 10.15,SwiftUI
image
.clipShape(rotation3DEffect( Angle, axis: (x: 15, y: 15, z: 15)))
.overlay(Circle().stroke(Color.white, lineWidth: 4))
.shadow(radius: 10)
作为“角度”应赋予什么值,我尝试了不同的方法,但没有起作用。
答案 0 :(得分:0)
尝试这样做:
image
.clipShape(rotation3DEffect( .degrees(Angle), axis: (x: 15, y: 15, z: 15)))
.overlay(Circle().stroke(Color.white, lineWidth: 4))
.shadow(radius: 10)
来源:https://www.hackingwithswift.com/quick-start/swiftui/how-to-rotate-a-view-in-3d
PS 假设Angle
是您所讨论的不能转换为角度的int,最好用小写声明常量和变量,即应该是angle
,而不是Angle
。在更多情况下,这通常不是什么大问题,但是在这种情况下,很难知道Angle
是有问题的常量或变量,因为它是大写的。
答案 1 :(得分:0)
您必须将Shape
传递到.clipShape()
,例如:
.clipShape(Circle())
您必须将.rotation3DEffect
作为单独的修饰符应用,它以Angle
和3个CGFloats
的元组作为参数,如下所示:
.rotation3DEffect(Angle(degrees: 10), axis: (15.0, 15.0, 15.0))
因此您的图像应这样声明:
image
.clipShape(Circle())
.overlay(Circle().stroke(Color.white, lineWidth: 4))
.rotation3DEffect(Angle(degrees: 10), axis: (15.0, 15.0, 15.0))
.shadow(radius: 10)