我创建了一条路径,并使用 CGRect
将其居中。我想在路径的确切位置添加一些文本。但是,由于我使用 CGAffineTransform
将路径居中,因此不能仅使用 .position
函数写入坐标。
这是我的路径:
struct elevationLegend: Shape {
func path(in rect: CGRect) -> Path {
var path = Path()
path.move(to: CGPoint(x: 10, y: (100 - (90-0))))
path.addLine(to: CGPoint(x: 10, y: (100 - (90-180))))
let scale = (rect.width / 350) * (9/10)
var xOffset = (rect.midX / 4)
var yOffset = (rect.midY / 2)
return path.applying(CGAffineTransform(scaleX: scale, y: scale)).applying(CGAffineTransform(translationX: xOffset, y: yOffset))
}
}
这是我尝试定位文本的无望尝试。
struct eText: TextField {
func text(in rect: CGRect) -> String {
let swag = Text("90").position(x: 10, y: 100 - (90-180))
let scale = (rect.width / 350) * (9/10)
var xOffset = (rect.midX / 4)
var yOffset = (rect.midY / 2)
return swag.applying(CGAffineTransform(scaleX: scale, y: scale)).applying(CGAffineTransform(translationX: xOffset, y: yOffset))
}
}
这行不通。有没有人知道我如何解决这个问题