如何在 CGRect 中添加文本标签?

时间:2021-01-15 18:46:40

标签: swift swiftui

我创建了一条路径,并使用 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))
    }
}

这行不通。有没有人知道我如何解决这个问题

0 个答案:

没有答案
相关问题