「Swift 今更!?PencilKit」のSwiftUI・iPadOS14.5版にSwipeを追加してみよう!!
Swift 今更!?PencilKit
「Swift 今更!?PencilKit」のSwiftUI・iPadOS14.5版
以前の記事「「Swift 今更!?PencilKit」のSwiftUI・iPadOS14.5版」
「Swift 今更!?PencilKit」のSwiftUI・iPadOS14.5版にSwipeを追加してみよう!!
当然見た目は変わらない
- UIViewControllerRepresentableを使用する
import SwiftUI import PencilKit struct ExampleControllerView: View { var body: some View { ZStack { Image("template") .resizable() .scaledToFit() .edgesIgnoringSafeArea(.all) PencilKitViewControllerView() } } } struct ExampleControllerView_Previews: PreviewProvider { static var previews: some View { ExampleControllerView() } } struct PencilKitViewControllerView: UIViewControllerRepresentable { func makeUIViewController(context: Context) -> PencilKitViewController { return PencilKitViewController() } func updateUIViewController(_ controller: PencilKitViewController, context: Context) {} } class PencilKitViewController: UIViewController { var pkcanvasview: PKCanvasView? let pktoolpicker = PKToolPicker() override func viewDidLoad() { super.viewDidLoad() self.pkcanvasview = PKCanvasView(frame: .zero) if let view = self.pkcanvasview { view.isOpaque = false view.backgroundColor = .clear view.overrideUserInterfaceStyle = .light self.pktoolpicker.addObserver(view) self.pktoolpicker.setVisible(true, forFirstResponder: view) view.becomeFirstResponder() self.view = view let swipeLeft = UISwipeGestureRecognizer(target: self, action: #selector(self.swipeLeft(sender:))) swipeLeft.direction = .left view.addGestureRecognizer(swipeLeft) let swipeRight = UISwipeGestureRecognizer(target: self, action: #selector(self.swipeRight(sender:))) swipeRight.direction = .right view.addGestureRecognizer(swipeRight) } } @objc func swipeLeft(sender: UISwipeGestureRecognizer) { print("Swipe left.") } @objc func swipeRight(sender: UISwipeGestureRecognizer) { print("Swipe right.") } }