Apple Pencilを使ってみる

ねんがんの iPad mini (第5世代) を手に入れたぞ。 ついでに Apple Pencil (第1世代) も買った。 えらい出費である。

よくあるiPad miniのこじゃれたレビューとかはしない。

Apple Pencilのプログラミング的な使い方はSDKサンプルの Leveraging Touch Input for Drawing Apps をDownloadして見てだいたいわかった。

指のタッチのときと同じく touchesBegan(_:with) の仲間で受け取ればいいけど、 推定値が含まれていることがあるので(PencilはiOS実機とは別デバイスだから)、 touchesEstimatedPropertiesUpdated(_:) で更新すればよいということらしい。

やってみたのが下の図

f:id:hrt1ro:20190515100105p:plain

タッチイベントでやってくるすべての点を折れ線で描いただけ、 なのにPencilのほうはすごく精緻。点の数が多い。 点の数は 60Hz : 240Hz 比、というわけでもないっぽい。 なんとなく1:2くらいのようす。

touchesなんとかは UIResponder のメソッドなので UIView でoverrideするのが ふつうかと思いこんでいたけどSDKサンプルは UIGestureRecognizer でやってる。 「そういうのもあるのか」 UIGestureRecognizer には allowedTouchTypes があるので 「Pencilだけに反応するやつ」などと簡単に指定できるのでこいつがぼくのほしいやつに違いない。