PencilKit을 사용하여 Apple Pencil을 지원하는 코드 3줄만 사용

개요

  • 3행 코드에서 Apple Pencil을 지원할 수 있는지 확인
  • WWDC 2019에 소개된 3행 코드


    Introducing PencilKit - WWDC 2019 - Videos - Apple Developer에 따르면'코드 3줄만 있으면 추가됩니다'.


    이번 환경

  • Xcode 11.0
  • Swift 5.1
  • iPadOS 13.1
  • iOS 13.0
  • 항목 만들기


    Xcode에서 템플릿에서 iOS+Single ViewApp을 선택합니다.

    다음 옵션을 선택합니다.
  • Language: Swift
  • User Interface: Storyboard

  • 프로젝트를 만들면 App Delegate.swift, SceneDelegate.swift, ViewController.Swift 소스 코드가 준비되어 있습니다.

    소스 코드


    ViewController.swift에 import PencilKit 및 3행 코드를 추가합니다.
    import UIKit
    
    // PencilKit を使う
    import PencilKit
    
    class ViewController: UIViewController {
    
        override func viewDidLoad() {
            super.viewDidLoad()
            // Do any additional setup after loading the view.
    
            // Three Lines of Code ここに3行のコードを足す
            let canvas = PKCanvasView(frame: view.frame)
            view.addSubview(canvas)
            canvas.tool = PKInkingTool(.pen, color: .black, width: 30)
        }
    }
    

    실제 실행 결과


    실제 기기(아이패드 Pro11-inch+iPadOS13.1)에 설치하고 실행합니다.
    이제 Apple Pencil과 손가락 등으로 글과 그림을 쓸 수 있게 되었습니다.
    PencilKit(import 문장 제외)를 3행 코드로 가져올 수 있습니다.

    PencilKit는 애플 Pencil이 사용할 수 없는 아이폰에서도 똑같이 작동할 수 있다.
    실제 컴퓨터(아이폰11Pro+iOS13.0)에 설치 및 실행 후
    이제 손가락 등으로 글과 그림을 쓸 수 있게 되었다.

    도구 팔레트도 짧은 코드로 추가 가능


    펜과 색 등을 선택할 수 있는 도구 팔레트도 짧은 코드로 화면에 표시할 수 있다.
    import UIKit
    
    // PencilKit を使う
    import PencilKit
    
    class ViewController: UIViewController {
    
        override func viewDidLoad() {
            super.viewDidLoad()
            // Do any additional setup after loading the view.
    
            // Three Lines of Code ここに3行のコードを足す
            let canvas = PKCanvasView(frame: view.frame)
            view.addSubview(canvas)
            canvas.tool = PKInkingTool(.pen, color: .black, width: 30)
    
            // PKToolPicker: ドラッグして移動できるツールパレット (ペンや色などを選択できるツール)
            if let window = UIApplication.shared.windows.first {
                if let toolPicker = PKToolPicker.shared(for: window) {
                    toolPicker.addObserver(canvas)
                    toolPicker.setVisible(true, forFirstResponder: canvas)
                    canvas.becomeFirstResponder()
                }
            }
        }
    }
    
    iPad Pro11-inch+iPadOS13.1을 사용해 보십시오.
    도구 팔레트가 표시됩니다.

    도구 팔레트는 드래그를 통해 원하는 곳으로 이동하거나 줄일 수도 있습니다.

    참고 자료

  • Introducing PencilKit - WWDC 2019 - Videos - Apple Developer
  • PencilKit | Apple Developer Documentation
  • Drawing With PencilKit | Apple Developer Documentation
  • 좋은 웹페이지 즐겨찾기