3D Touch 적용하기 (2) – UIKit Peek and Pop

이번에는 UIKit peek and pop 중 preview action에 대해서 살펴보겠습니다. 애플에서 제공하는 예제를 참고하였습니다. 애플 공식 예제 Peek and Pop 이란? 우선 Peek과 Pop의 차이점을 먼저 설명하면 Peek은 화면을 누르는 강도를 점점 강하게 했을 때이고 Pop은 아주 강하게 꾸욱 눌렀을 때를 의미합니다. Peek은 지원 단말을 가지고 계신 분들이라면 신기해서 많이 해보셨을텐데 Pop을 해보셨을지는.. (네.. 저는 이 문서 작성하면서 알았습니다..) Peek and Pop의 구현 등록(Register) : registerForPreviewingWithDelegate 메소드를 통해 preview delegate 및 preview가 나타날 대상 view를 지정합니다. 또한 대상 view controller에 UIViewControllerPreviewingDelegate protocol을 지정합니다. 일반적으로 viewDidLoad 메소드에서 등록을 합니다. Peek :  protocol 메소드 중 previewingContext: viewControllerForLocation: 을 통해 기능이 정의되며 Previewing에 사용할 View Controller를 지정하고 animation이 시작될 rect 와 preferred content size를 지정합니다. Pop : protocol 메소드 중 previewingContext: commitViewController: 를 통해 정의됩니다. 일반적으로는 showViewController 혹은 showDetailViewController를 이용하며 둘의 차이점은 타겟이 되는 view controller만 전체화면으로 보여줄 것(showDetailViewController)이냐 대상 view controller를 포함한 container view controller까지 전체화면으로 보여줄 것이냐 차이로 저는 이해를 했습니다. Previewing Action…

3D Touch 적용하기 (1) – Home screen quick action API

들어가며.. 최근 새로이 출시한 iPhone6s / 6s Plus 에는 MacBook Pro로 이미 선보인 바 있는 3D Touch 기술이 적용되었다. iPhone에 추가된 3D Touch의 경우 크게 4가지 기능이 있는데 아래와 같다. Home screen quick action API UIKit peek and pop API Web view peek and pop API UITouch fouce properties 그 중 Home screen quick action API 적용하는 방법을 간략하게 알아보도록 한다. Home screen quick action API는 다시 2 종류로 나뉘는데 아래와 같다. Static quick actions Dynamic quick actions 이 둘의 차이점은 미리 정의되어 있느냐 상황에 따라 정의가 되느냐의 차이로 Static quick actions의 경우 info.plist에 정의가 되며, Dynamic quick actions는 코드로 정의가 가능하다. 사실상 차이점은 크진 않으나 혼용하여 사용할 경우 Static이 우선한다는 것이다. 공통의 제약조건이 하나 있는데 quick actions는 4개까지만 적용이 가능하다는 것이다. 5번째 actions부터는 무시된다. Static quick actions 앞서 설명한 것과 같이 info.plist에 정의가 된다. UIApplicationShortCutItems라는 키를 가지는 배열로 선언이 되며 각 item은 Dictionary 형태를 가진다. 각 Dictionary는 UIApplicationShortcutItemTitle / UIApplicationShortcutItemSubtitle…