[swift] PeekPop을 활용한 동영상 재생 앱의 미리보기 기능 구현 방법

본 문서에서는 Swift를 사용하여 PeekPop을 활용한 동영상 재생 앱의 미리보기 기능을 구현하는 방법을 알아보겠습니다.

목차

PeekPop이란?

PeekPop은 3D Touch를 통해 앱 내의 콘텐츠에 접근할 때 사용되는 프레임워크입니다. PeekPop을 사용하면 사용자가 앱 내에서 제스처로 특정 콘텐츠에 접근하거나 미리보기할 수 있습니다. 이 기능을 활용하면 동영상 재생 앱에서도 사용자가 동영상을 즉각적으로 미리보기할 수 있는 기능을 구현할 수 있습니다.

미리보기 기능 구현을 위한 준비 작업

  1. Xcode에서 프로젝트를 열고, 사용할 동영상 파일을 프로젝트에 추가합니다.
  2. ViewController 파일을 열고, PeekPop을 사용할 UIView 객체를 추가합니다.
  3. Info.plist 파일을 열어 UIApplicationShortcutWidget을 사용하기 위해 UIApplicationShortcutWidgetSupported 값을 true로 설정해줍니다.

미리보기 기능 구현 방법

  1. UIViewControllerPreviewingDelegate 프로토콜을 구현하여 PeekPop 기능을 사용할 ViewController에 적용합니다.

    class ViewController: UIViewController, UIViewControllerPreviewingDelegate {
        //...
    }
    
  2. registerForPreviewing(with:sourceView:) 메서드를 사용하여 PeekPop을 사용할 View를 등록합니다. 이때, 등록한 View가 PeekPop을 사용할 수 있는 상태인지 확인합니다.

    override func viewDidLoad() {
        super.viewDidLoad()
           
        if traitCollection.forceTouchCapability == .available {
            registerForPreviewing(with: self, sourceView: yourSourceView)
        }
    }
    
  3. previewingContext(_:viewControllerForLocation:) 메서드를 구현하여 미리보기 컨텐츠를 반환합니다.

    func previewingContext(_ previewingContext: UIViewControllerPreviewing, viewControllerForLocation location: CGPoint) -> UIViewController? {
        // 미리보기할 컨텐츠의 뷰 컨트롤러를 반환합니다.
        return yourPreviewViewController
    }
    
  4. previewingContext(_:commit:) 메서드를 구현하여 미리보기를 선택했을 때 수행할 액션을 정의합니다.

    func previewingContext(_ previewingContext: UIViewControllerPreviewing, commit viewControllerToCommit: UIViewController) {
        // 미리보기를 선택했을 때 수행할 액션을 구현합니다.
        // 예를 들어, 동영상 재생 액션을 수행할 수 있습니다.
        yourPlayVideoAction()
    }
    

위의 방법을 통해 PeekPop을 활용한 동영상 재생 앱의 미리보기 기능을 구현할 수 있습니다. PeekPop을 사용하면 사용자가 동영상을 미리보기할 수 있어 더욱 편리한 사용자 경험을 제공할 수 있습니다.

더 자세한 내용은 Apple 공식 문서 Peek and Pop를 참고하시기 바랍니다.