일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- github
- iOS 13.0+
- composablearchitecture
- concurrency
- 정규표현식
- TCA
- Tuist
- 개발
- navigationsplitview
- tuist #xcodecloud #ios #ci/cd #swiftlint #firebase
- 모바일
- xcode
- regex
- network
- iOS 개발자
- swiftdata
- ObjC
- Alamofire
- Git
- SWIFT
- ios18
- Navigation
- xcodecloud
- SWIFTUI
- uikit
- IOS
- UI
- test
- combine
- Firebase
- Today
- Total
iOS 개발 기록
[iOS] PencilKit 본문
PencilKit은 2019년부터 애플에서 지원하는 프레임워크다. PencilKit은 터치와 Apple Pencil 입력을 그림으로 캡처하고 앱에 표시하는 기능을 지원한다. iOS13 이상부터 지원하며 앱에 그림 그리는 기능을 쉽게 구현할 수 있다.
PKCanvasView
class PKCanvasView : UIScrollView
손가락이나 Apple Pencil을 통해 그려진 콘텐츠를 렌더링하여 앱에 표시하는 뷰. 그림을 그리고 표시하는 뷰라고 생각하면 될것 같다. PKCanvasView에서 그려진 데이터는 PKDrawing에 저장된다.
PKDrawing
struct PKDrawing
PKCanvasView에서 그린 데이터를 저장하는 구조체. PKStroke형태로 저장하며 dataRepresentation이라는 메서드를 통해 Data형태로 반환받을 수 있다.
PKToolPicker
class PKToolPicker : NSObject
사용자가 팔레트와 같이 펜의 종류나 색상, 지우개나 자와 같은 도구를 선택할 수 있도록 제공되는 도구.
사용
나의 경우 다음과 같이 ViewController를 만들고, SwiftUI로 사용하기 위해 UIViewControllerRepresentable로 가져와 사용했다.
PencilKit을 사용하려고 이런저런 코드들을 찾아보다 Github에서 참고하기 좋은 코드들을 찾았었다.
19년 WWDC에서 PencilKit 발표 당시의 sample code :
https://github.com/legolasW/DrawingWithPencilKit
ViewController로 사용하고 SwiftUI에서 사용한 sample code :
https://github.com/nnovalbos/PencilKitDrawingInSwiftUI
PencilKit 개발자 공식 문서 :
https://developer.apple.com/documentation/pencilkit
'Swift' 카테고리의 다른 글
Swift - 옵셔널 (Optional) (0) | 2022.07.19 |
---|---|
Swift - 고차함수 (map, filter, reduce) (0) | 2022.07.18 |
Swift 의 메모리 관리 (ARC, weak, unowned, lazy) (0) | 2022.05.31 |
Swift의 특징과 프로그래밍 패러다임 (0) | 2022.05.31 |
KVC와 KVO란? (0) | 2022.05.31 |