3D Touchの種類
- Home Screen Quick Actions
- Peek and Pop
- Force Properties
1. Home Screen Quick Actions
ホーム画面でアプリのアイコンを強く押すと表示される
実装方法
- info.plistで追加
1 | <key>UIApplicationShortcutItems</key> |
- コードで追加
1 | UIApplicationShortcutItem *item1 = [[UIApplicationShortcutItem alloc] initWithType:@"dynamic1" localizedTitle:@"title1" localizedSubtitle:@"sub1" icon:[UIApplicationShortcutIcon iconWithType:UIApplicationShortcutIconTypeLocation] userInfo:nil]; |
2. Peek and Pop
特定のビューを強く押すとプレビューが表示される(Peek)
Peekで上にスワイプするとメニューが表示される
Peekでさらに強く押すと全表示で表示される(Pop)
実装方法
- 1. 3D Touchに対応するビューをビューコントローラで登録
1 | if (self.traitCollection.forceTouchCapability == UIForceTouchCapabilityAvailable) { |
- 2. UIViewControllerPreviewingDelegateを実装
1 | @interface ViewController () <UIViewControllerPreviewingDelegate> |
1 | - (nullable UIViewController *)previewingContext:(id <UIViewControllerPreviewing>)previewingContext viewControllerForLocation:(CGPoint)location |
1 | - (void)previewingContext:(id <UIViewControllerPreviewing>)previewingContext commitViewController:(UIViewController *)viewControllerToCommit |
- 3. プレビュー用メニュー追加
1 | - (NSArray <id <UIPreviewActionItem>> *)previewActionItems |
3. Force Properties
UITouchに追加されたプロパティーforceとmaximumPossibleForceを利用
実装方法
1 | - (void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event |



