https://developer.apple.com/documentation/uikit/uipreviewinteraction
"A class that registers a view to provide a custom user experience in response to 3D Touch interactions."
3D 터치 상호작용에 반응하는 커스텀 사용자 경험을 제공하기 위해 뷰를 등록하는 클래스입니다.
@MainActor class UIPreviewInteraction : NSObject
3D 터치 상호작용은 두 페이즈로 구성되는 프리뷰 상호작용이 나타납니다. 첫 번째는 프리뷰를 호출하고, 커밋이 뒤따라옵니다. 상호작용은 사용자가 터치에 더 많은 압력을 가하면 이 페이즈들을 통해 진행합니다. Figure 1은 사요앚 터치의 압력과 프리뷰 상호작용 페이즈의 관계를 보여줍니다.
Figure 1 Relationship between touch force and preview interaction phases
프리뷰를 하는 뷰 컨트롤러를 사용하는 경우 peek는 프리뷰 페이즈를 나타내고, 커밋 페이즈를 띄웁니다.
Note
동작을 프리뷰(peek와 pop)하는 시스템 기본값 뷰 컨트롤러를 제공하길 원한다면,UIPreviewInteraction
대신UIViewController
에registerForPreviewing(with:sourceView:)
와unregisterForPreviewing(withContext:)
메소드를 사용해야 합니다. 더 자세한 내용은 Working With 3D Touch Previews and Preview Quick Actions를 살펴보시기 바랍니다.
https://developer.apple.com/documentation/uikit/uiviewcontroller#1654454
프리뷰 상호작용은 특정 뷰에 대해 3D 터치 상호작용을 관리할 책임이 있습니다. 프리뷰 상호작용은 코드에서 상호작용의 진행상황과 상태에 대해 소통하기 위해 딜리게이트 객체를 사용합니다.
앱에서 프리뷰 상호작용을 사용하려면 아래 단계를 수행해야 합니다.
UIPreviewInteraction
객체를 생성해야 합니다.UIPreviewInteractionDelegate
프로토콜을 따르는 딜리게이트 객체를 생성하고, 적합한 메소드를 구현합니다.프리뷰 상호작용 진행상황을 통한 상태 전환은 UIPreviewInteractionDelegate
에서 더 많은 정보를 볼 수 있습니다.
UIPreviewInteractionDelegate
https://developer.apple.com/documentation/uikit/uipreviewinteractiondelegate
https://velog.io/@panther222128/UIPreviewInteractionDelegate