使用 SwiftUI 在特定坐标的图像中添加文本

问题描述 投票:0回答:1

我想在图像内添加多个文本,并具有相对于图像的特定坐标。文字大小可能会有所不同。我正在使用 kingfisher 来加载图像。

我尝试过使用 ZStack 来确定位置 x、y 坐标。但它没有按照我的预期工作。

swift image swiftui text coordinates
1个回答
0
投票

使用

GeometryReader
SpatialTapGesture
尝试此方法,如图所示 在基本示例代码中,在点击的位置添加一些文本。

struct ContentView: View {
    @State private var location = CGPoint(x: -111, y: -111)
    
    var body: some View {
        VStack {
            GeometryReader { proxy in
                Image(systemName: "globe").resizable()
                    .frame(width: 333, height: 333)
                    .background(.blue.opacity(0.3))
                    .gesture(SpatialTapGesture()
                        .onEnded({ tap in
                            print("----> tap: \(tap)")
                            location = tap.location
                        }))
                
                Text("More text")
                    .position(x: location.x, y: location.y)
                    .foregroundStyle(.red)
            }
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.