如何在SwiftUI中水平翻转形状?
我有一个如何在SwiftUI中水平翻转形状?,swiftui,Swiftui,我有一个形状,需要沿x轴翻转。我想用cGraffineTransform解决这个问题,但我只找到了一种旋转形状的方法,而不是沿轴翻转。我需要类似于.rotation3DEffect(.degrees(180),axis:(x:1,y:0,z:0))的东西对于形状您可以在形状上使用rotation3DEffect。下面是一个简单的例子: struct ContentView : View { @State var degrees : Double = 0 var body
形状
,需要沿x轴翻转。我想用cGraffineTransform
解决这个问题,但我只找到了一种旋转形状的方法,而不是沿轴翻转。我需要类似于.rotation3DEffect(.degrees(180),axis:(x:1,y:0,z:0))的东西
对于形状您可以在形状上使用rotation3DEffect
。下面是一个简单的例子:
struct ContentView : View {
@State var degrees : Double = 0
var body: some View {
VStack {
MyShape()
.fill(Color.red)
.rotation3DEffect(.degrees(degrees), axis: (x: 1, y: 0, z: 0))
Button("Rotate") {
withAnimation {
degrees = degrees == 0 ? 180 : 0
}
}
}
}
}
struct MyShape : Shape {
func path(in rect: CGRect) -> Path {
Path { path in
path.move(to: .zero)
path.addLine(to: CGPoint(x: rect.maxX, y: rect.minY))
path.addLine(to: CGPoint(x: rect.minX, y: rect.maxY))
}
}
}
<> >为了避免混淆,我会说你的问题标题和你的代码<旋转> 3DEffECT/<代码>和你的标题(翻转形状“水平”)在我的脑海中有点冲突——用<代码>轴旋转180度(x:1,y:0,z:0)< /Cord>执行我认为的垂直翻转。对于水平,您可以将其更改为轴(x:0,y:1,z:0)您阅读了我的问题吗?我正在寻找
形状
的解决方案,而不是查看
欢迎使用SO-请阅读并改进、编辑和格式化您的问题。如果没有故障诊断码,就不可能帮助您排除故障。