PencilKit을 사용하여 Apple Pencil을 지원하는 코드 3줄만 사용
개요
WWDC 2019에 소개된 3행 코드
Introducing PencilKit - WWDC 2019 - Videos - Apple Developer에 따르면'코드 3줄만 있으면 추가됩니다'.
이번 환경
항목 만들기
Xcode에서 템플릿에서 iOS+Single ViewApp을 선택합니다.
다음 옵션을 선택합니다.
프로젝트를 만들면 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을 사용해 보십시오.도구 팔레트가 표시됩니다.
도구 팔레트는 드래그를 통해 원하는 곳으로 이동하거나 줄일 수도 있습니다.
참고 자료
Reference
이 문제에 관하여(PencilKit을 사용하여 Apple Pencil을 지원하는 코드 3줄만 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/niwasawa/items/d8e239cd23666c750a2f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)