UIPreviewInteractionDelegate
4582 ワード
https://developer.apple.com/documentation/uikit/uipreviewinteractiondelegate
"A set of methods for communicating the progress of a preview interaction."
インタラクティブな進捗をプレビューする方法の集合.
プレビューインタラクションは、3 Dタッチインタラクションをステートマシンに抽象化し、遅延ゲートを介してステートマシンとインタラクションします.開発者は、適切なUI動作を実施する責任を負います.
このプロトコルに準拠するオブジェクトを作成し、
プレビューインタラクションは、2つのメインインタフェースから構成されます.プレビューとコミット.Figure 1はプレビューインタラクションに関するベースステートマシンの可視化である.
Figure 1 Phases, transitions, and delegate methods of a preview interaction
[プレビュー](Preview)インタラクションが開始されると、ユーザがビューを強く押したときに行われる最初のページ(プレビュー)に入ります.このプロセスでは、
終了パラメータが
コミットページの進捗状況は
プレビューインタラクションが完了する前の任意の時点で、ユーザが画面から指を移動したり、
インタフェースのプレビューとコミットの間、ユーザーはインタフェースを更新して、インタラクションが発生する場所を識別する必要がある場合があります.たとえば、メール・アプリケーションで表の行をクリックすると、他の行がグレー表示されます(プレビュー・ページ).次のコミットページの開始時に、Eメールのポップアップ切り替えが表示されます.コミット・ページによってポップアップ・スイッチが生成され、コミット・ページの終了時のEメール詳細ビューで切り替えられます.
すべてのユーザー体験を提供し、プレビューとコミットインタフェースを同時に提供します.ただし、iOS Humanインタフェースガイドの3 Dタッチ部分に従う必要があります.プレビューインタラクションおよびコミットインタフェースによって進捗を追跡するUI変更を実行するには、
ビューを登録して、3 Dタッチとインタラクティブに反応するカスタムユーザーエクスペリエンスのクラスを提供します.
https://developer.apple.com/documentation/uikit/uipreviewinteraction
https://velog.io/@panther222128/UIPreviewInteraction
peek quick actionとpeek quick actionグループに適用できるスタイルとpeek quick actionのユーザー可視化タイトルの読み取り専用アクセス者のメソッドセットを定義します.
https://developer.apple.com/documentation/uikit/uipreviewactionitem
https://velog.io/@panther222128/UIPreviewActionItem
"A set of methods for communicating the progress of a preview interaction."
インタラクティブな進捗をプレビューする方法の集合.
Declaration
@MainActor protocol UIPreviewInteractionDelegate
Overview
プレビューインタラクションは、3 Dタッチインタラクションをステートマシンに抽象化し、遅延ゲートを介してステートマシンとインタラクションします.開発者は、適切なUI動作を実施する責任を負います.
このプロトコルに準拠するオブジェクトを作成し、
UIPreviewInteraction
インスタンスの遅延ゲート属性に割り当ててください.ユーザが3 Dインタラクションを実行する場合、この遅延ゲートオブジェクトを使用して、プレビューインタラクションで発生した状態の変化に応答します.Controlling Preview Interaction State Changes
UIPreviewInteractionDelegate
の方法では、プレビューインタラクションを開始するかどうか、およびプレビューインタラクションインタフェースを使用して進捗状況を観察する方法を制御できます.これにより、システムとの一貫性を維持しながら、ユーザー体験をカスタマイズできます.プレビューインタラクションは、2つのメインインタフェースから構成されます.プレビューとコミット.Figure 1はプレビューインタラクションに関するベースステートマシンの可視化である.
Figure 1 Phases, transitions, and delegate methods of a preview interaction
previewInteractionShouldBegin(_:)
メソッドは、ユーザがプレビューインタラクションを有するビューをクリックしたときに呼び出される.この方法を実施し、プレビューインタラクションが続行されないようにfalse
に戻ってください.true
に戻るか、このオプションのメソッドが実装されていない場合は、インタラクションのプレビューを続行します.[プレビュー](Preview)インタラクションが開始されると、ユーザがビューを強く押したときに行われる最初のページ(プレビュー)に入ります.このプロセスでは、
previewInteraction(_:didUpdatePreviewTransition:ended:)
メソッドが繰り返し呼び出され、0から1の間のCGFloat
値によって進行状況が通知される.この方法を実装し、transitionProgress
パラメータを使用してUIの更新を行い、視覚的なフィードバックを提供してください.終了パラメータが
false
からtrue
に変更されると、プレビューインタラクションは2番目のコミット(commit)に切り替わります.previewInteraction(_:didUpdatePreviewTransition:ended:)
遅延メソッド呼び出しはなくなりました.コミットページの進捗状況は
previewInteraction(_:didUpdateCommitTransition:ended:)
方法で通知されます.この方法を実装し、transitionProgress
パラメータを使用してUIを適切に更新してください.プレビューインタラクションは、終了パラメータがtrue
のときに完了します.終了ポイントは、すべてのUI変更が完了した時点である必要があります.プレビューインタラクションが完了する前の任意の時点で、ユーザが画面から指を移動したり、
UIPreviewInteraction instance
のインスタンスでcancel()
メソッドを呼び出したりした場合、プレビューインタラクションをキャンセルすることができる.キャンセルされた場合、previewInteractionDidCancel(_:)
遅延メソッドが呼び出される.この方法では、現在進行中のすべてのUI切り替えをキャンセルする必要があります.Preview Interaction User Interface Updates
UIPreviewInteraction
は、タッチ圧力の影響を受けず、3 Dタッチインタラクションを実現することができる.これにより、ユーザは、インタラクションモードの理解を容易にするためにUIインタフェースを更新することができる.プレビューインタラクションは、ビューコントローラプレビュー(peekおよびpop)とUITouch
の圧力値との間にある.これは、未加工の圧力値を処理することなく、一意のUIを提供する必要があることを意味する.インタフェースのプレビューとコミットの間、ユーザーはインタフェースを更新して、インタラクションが発生する場所を識別する必要がある場合があります.たとえば、メール・アプリケーションで表の行をクリックすると、他の行がグレー表示されます(プレビュー・ページ).次のコミットページの開始時に、Eメールのポップアップ切り替えが表示されます.コミット・ページによってポップアップ・スイッチが生成され、コミット・ページの終了時のEメール詳細ビューで切り替えられます.
すべてのユーザー体験を提供し、プレビューとコミットインタフェースを同時に提供します.ただし、iOS Humanインタフェースガイドの3 Dタッチ部分に従う必要があります.プレビューインタラクションおよびコミットインタフェースによって進捗を追跡するUI変更を実行するには、
UIViewPropertyAnimator
オブジェクトを使用することを考慮してください.このクラスでは、アニメーションを作成し、fractionComplete
プロパティを使用してアニメーションをスクロールできます.previewInteraction(_:didUpdatePreviewTransition:ended:)
およびpreviewInteraction(_:didUpdateCommitTransition:ended:)
が提供するtransitionProgress
属性に完全にマッピングされ、ユーザがUIViewPropertyAnimator
を使用してUIを更新し、ユーザのタッチ圧力に応答することを可能にする.See Also
3D Touch Interactions
UIPreviewInteraction
ビューを登録して、3 Dタッチとインタラクティブに反応するカスタムユーザーエクスペリエンスのクラスを提供します.
https://developer.apple.com/documentation/uikit/uipreviewinteraction
https://velog.io/@panther222128/UIPreviewInteraction
UIPreviewActionItem
peek quick actionとpeek quick actionグループに適用できるスタイルとpeek quick actionのユーザー可視化タイトルの読み取り専用アクセス者のメソッドセットを定義します.
https://developer.apple.com/documentation/uikit/uipreviewactionitem
https://velog.io/@panther222128/UIPreviewActionItem
Reference
この問題について(UIPreviewInteractionDelegate), 我々は、より多くの情報をここで見つけました https://velog.io/@panther222128/UIPreviewInteractionDelegateテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol