ハイライト
iOS 14 は、スマート選択、挿入スペース、システム カラー ピッカー、グローバルな指描画戦略、および PencilKit への独立性を追加します。
PKToolPicker例とPKDrawingストロークアクセス入口、開発者が使用可能drawingPolicyツールピッカー状態で Apple Pencil と指入力を制御します。
主要内容
PencilKit は、低遅延描画、Apple Pencil の筆圧感知、システム ツールバーを iOS 13 に引き継ぎました。PKCanvasView。問題は入力戦略にあります。同じキャンバス内で、指は描画する場合もあれば、スクロールしたり、選択したり、手書きを調整したりする必要があります。開発者が古いもののみに依存している場合allowsFingerDrawing、ユーザーのグローバルな Apple Pencil 設定とアプリ独自のモード切り替えを同時に尊重することは困難です。 (04:03)
iOS 14 では、まずエクスペリエンス アップグレードのバッチがシステム層に配置されます。既に PencilKit に接続されているアプリは、テキスト編集に似た手書き選択、挿入スペース、新しい UIKit カラー ピッカー、および遅延パフォーマンスの向上を自動的に実現します。PKCanvasViewMac Catalystもサポートされ始めていますが、Catalystにはツールピッカーがなく、インクの設定はキャンバスAPI経由で行う必要があります。 (01:21)
開発者が本当に移行したいのは、入力戦略とツールバーの状態です。PKCanvasViewDrawingPolicy代わりのallowsFingerDrawing、「任意の入力で描画」、「鉛筆描画のみを許可」、「デフォルトのポリシーに従う」を明確に分けます。PKToolPickerまた、共有ウィンドウ インスタンスから独立したインスタンスに移行したため、アプリでメモをとるキャンバスと色を塗るキャンバスの両方を簡単に使用できるようになりました。 (05:21)
このセッションはついに境界を押し広げましたPKDrawing内部。 iOS 14 では、開発者がストローク、インク、パス、ポイントにアクセスできるようになります。 10107 このルートをクリックするだけで、図面データの具体的な読み込み、変更、構築は後続の 10148 に任せて続行します。 (09:08)
詳細
PencilKit のシステムレベルのエクスペリエンスは進化し続けます
(01:21) iOS 14 では PencilKit ドキュメントがスマート選択されます。ユーザーはダブルクリックして単語を選択したり、もう一度ダブルクリックして行を選択したり、グラブ ハンドルを使用して選択範囲を展開したりできます。非連続コンテンツの場合、システムは速度に応じたタップ アンド パン ジェスチャを提供し、ユーザーがブラシ ストロークのような分散したストロークを選択できるようにします。
(01:51) スペースを挿入すると、手書きメモによくある問題が解決されます。書き終えた後、真ん中の段落が抜けていることに気づきます。ユーザーは空白領域をクリックし、吹き出しバーから [スペースの挿入] を選択し、ハンドルをドラッグしてスペースを作成します。これらの機能はシステムによって提供されるため、既存の PencilKit クライアントは追加のコードを記述する必要はありません。
(02:23) PencilKit には、新しい UIKit システム カラー ピッカーも搭載されています。ユーザーはスペクトル、スライダー、カスタムカラー、スポイトから選択できます。この講演では、10052 の UIKit ピッカー セッションに関する詳細が明示的に示されています。
allowedFingerDrawing の代わりに drawingPolicy を使用します
(05:21)allowsFingerDrawingiOS 14では新しくなりましたPKCanvasViewDrawingPolicy交換する。開発者は描画ジェスチャ認識機能を直接変更しないでください。allowedTouchTypes, 入力意図はキャンバスの描画ポリシーに記述する必要があります。
var drawingPolicy: PKCanvasViewDrawingPolicy
キーポイント:
PKCanvasViewDrawingPolicy.anyInput指と Apple Pencil の両方で描画できます。 -PKCanvasViewDrawingPolicy.pencilOnlyApple Pencil による描画のみが許可され、指でスクロールしたり、スマート選択ジェスチャをトリガーしたりできます。 -PKCanvasViewDrawingPolicy.defaultツールピッカーが表示されている場合、設定またはツールピッカーを介したユーザーの切り替えが尊重されます。UIPencilInteraction.prefersPencilOnlyDrawing州。- ツールピッカーが非表示の場合、デフォルトの戦略では Apple Pencil のみが描画でき、指はスクロールと選択を担当します。
ツールピッカーの「指で描画」スイッチを制御します。
(07:06) アプリが純粋な鉛筆描画ツールの場合、キャンバスは次のように設定されます。pencilOnly最後に、ツール ピッカーの [指で描画] スイッチは誤解を招きます。描画戦略コントロールが非表示になります。
PKToolPicker.showsDrawingPolicyControls
キーポイント:
- iPad 上のこのコントロールには、デフォルトで「指で描く」スイッチが表示されます。
・ キャンバスポリシーが固定の場合
pencilOnlyいつ、置くshowsDrawingPolicyControlsに設定false、ユーザーが切り替わった後にキャンバスの動作が変わらないようにします。 - アプリがユーザーのグローバル Apple Pencil 設定を尊重したい場合は、このコントロールを保持し、キャンバスで使用できるようにします。
.default。
各キャンバスは独自の PKToolPicker を維持できます
(08:40) iOS 14 が更新されましたPKToolPicker初期化メソッド。開発者は複数の独立したツール ピッカーを作成でき、各インスタンスには独自の描画ポリシー コントロール、選択されたツール、およびその他の状態があります。講義では、メモ取りモードと色付けモードを使用して、この違いを説明します。
notesCanvas.drawingPolicy = .default
notesToolPicker.showsDrawingPolicyControls = true
notesToolPicker.selectedTool = PKInkingTool(.pen, color: .black, width: 2)
drawingCanvas.drawingPolicy = .anyInput
drawingToolPicker.showsDrawingPolicyControls = false
drawingToolPicker.selectedTool = PKInkingTool(.marker, color: .purple, width: 20)
キーポイント:
- キャンバスを使用してメモを取る
.default、ユーザーがシステム環境設定を通じて指で描画するかどうかを決定できるようにします。 - メモ取りツール ピッカーには描画ポリシー コントロールが表示され、ユーザーは「指で描画」を直接確認して切り替えることができます。
- カラーキャンバス使用
.anyInputというのも、このモードでは指と Apple Pencil の両方に色を付けることが明示的に許可されているからです。 - カラーリング ツール ピッカーは、固定ポリシーと競合するスイッチを避けるために描画ポリシー コントロールを非表示にします。
- アプリはそれぞれを保持する必要があります
PKToolPickerそうしないと、ピッカーの状態とライフサイクルを安定して維持できなくなります。
ストローク アクセスにより、PencilKit がキャンバスからデータ レイヤーにプッシュされます
(09:08) 最後の変更はPKDrawing内部データが利用可能になります。開発者はストロークにアクセスし、インク、パス、ポイント、その他の情報をさらに確認できます。 10107 完全なコードは展開されていません。これは、認識、アニメーション、機械学習、および描画変更のシナリオを指します。
この境界線が重要です。以前は、PencilKit は主にアプリに高品質のキャンバスを配置するために使用されていました。 iOS 14以降では、描画データをアプリ独自のビジネスロジック(注釈認識、ストロークアニメーション、形状補正、機械学習に基づく手書き内容分析など)に入力できるようになりました。
重要ポイント
- メモを取ることと色を塗ることが共存するクリエイティブなインターフェイス: 同じドキュメント内に配置します
notesCanvasそしてdrawingCanvas、前者は使用します.defaultそして「Draw With Finger」を表示します。.anyInputそして紫色のマーカーを修正します。これにより、ユーザーはメモをとるときにスクロールや選択を維持したり、色を塗るときに指で直接色を塗ったりすることができます。 - システムの Apple Pencil 設定を尊重する注釈ツールを作成します: メインの注釈キャンバスを使用します
.default、ツールピッカーの描画ポリシーコントロールを保持します。ユーザーがシステム設定または PencilKit アプリで「鉛筆描画のみを優先」に切り替えると、アプリは同じ設定に従います。 - 純粋な Pencil 用にプロフェッショナルな描画モードを作成: キャンバスを次のように設定します。
pencilOnly、同時に閉じますshowsDrawingPolicyControls。指はコンテンツのスクロール、選択、調整に使用され、Apple Pencil はスケッチ、注釈の投影、長い文書への手書きに最適なストロークを生成します。 - Catalyst バージョン用に予約された基本的な描画機能: Mac Catalyst で使用されます。
PKCanvasViewPencilKit コンテンツを表示または編集し、キャンバス API を通じてインクを設定します。ツール ピッカーは Catalyst をサポートしていないため、インターフェイスは独自のツール選択の入り口を提供する必要があります。 - ストローク データを認識またはアニメーション プロセスに任せる: 10107 をエントリ ポイントとして扱い、10148 を読み続けてください。
PKStroke、インク、パス、ポイントの詳細。ストロークの再生、パターン認識、注釈の分類、または手書きの内容の分析に適しています。
関連セッション
- iPad 用 Scribble について — Apple Pencil の手書き入力が標準のテキスト コントロールにどのように入力されるか、およびカスタム テキスト エクスペリエンスが必要な場合について説明します。
UIScribbleInteraction。 - PencilKit 図面の検査、変更、構築 — 詳細
PKDrawingストローク、インク、パス、ポイントは、このフィールドのストローク アクセス ポイントを理解するための次のステップです。 - iOS ピッカー、メニュー、アクションを使用した構築 — このセッションで説明した新しい PencilKit カラー ピッカーの背景を補完する UIKit のシステム カラー ピッカーとその他のコントロールを紹介します。
コメント
GitHub Issues · utterances