SwiftUIで画像をピンチで拡大する(PDFView)


SwiftUIで画像をピンチで拡大する方法です。 画像をピンチで拡大します。

他にはこのような方法があります。

SwiftUIで画像をピンチで拡大する(MagnificationGesture)

SwiftUIで画像をピンチで拡大する(UIImageView + UIScrollView)

参考: Isn’t there an easy way to pinch to zoom in an image in Swiftui?

Pinch and Zoom

ContentView.swift

import SwiftUI

struct ContentView: View {
    var body: some View {
        PhotoDetailView(image: UIImage(named: "icon")!)
    }
}

PhotoDetailView.swift

import SwiftUI
import PDFKit

struct PhotoDetailView: UIViewRepresentable {
    let image: UIImage

    func makeUIView(context: Context) -> PDFView {
        let view = PDFView()
        view.document = PDFDocument()
        guard let page = PDFPage(image: image) else { return view }
        view.document?.insert(page, at: 0)
        view.autoScales = true
        return view
    }

    func updateUIView(_ uiView: PDFView, context: Context) {}
}