2015-09-29 18 views
9

電話、リマインダー、マップでは、別の3D-Touch Peek UIを使用して、一度にアクションを選択できます。たとえば、リマインダを強制的に押して、指を離すことなく、「1日に私に知らせる」を1回で選択します。 UIViewControllerPreviewing APIを使用した標準3Dタッチプレビューとは視覚的にも異なります。左揃えのテキストの横にカスタムアイコンが表示されるためです。3D-Touch Peek-and-Selectの実装方法は?

enter image description here

私は公式のAPIを使用してこれを行うための方法を見つけることができませんでした。私は何かを見逃したのですか、これは本当にプライベートAPIですか?

+0

人々が適切なソースをすばやく見つけることができるように、自分の回答を正しいとマークすることを検討してください。ありがとう! –

答えて

3

私もApple Developer Forumsに私の質問をして、アップルからこの応答を受け取っ:

現在、これらの事を行うには、公開APIはありません。これがあなたのアプリでやりたいことがあればバグ を報告し、あなたが探しているものの具体的な詳細を に含めてください。

公式SDKを使用することは現在できません。私はこれを提出しましたenhancement request radarと私はあなたもこれを必要とする場合は、それを欺くことをお勧めします!

0

これらはUIPreviewActionItemです。

previewingContext:viewControllerForLocation:をオーバーライドした後、- (NSArray<id<UIPreviewActionItem>> *)previewActionItemsを上書きすることもできます。これにより、クイックアクションを指定することができます。

ここであなたを助けますスニペットです:(related tutorial

- (NSArray<id<UIPreviewActionItem>> *)previewActionItems 
{ 
    UIPreviewAction *action1 = [UIPreviewAction actionWithTitle:@"Action 1" style:UIPreviewActionStyleDefault handler:^(UIPreviewAction * _Nonnull action, UIViewController * _Nonnull previewViewController) { 
     NSLog(@"Action 1 triggered"); 
    }]; 

    UIPreviewAction *action2 = [UIPreviewAction actionWithTitle:@"Destructive Action" style:UIPreviewActionStyleDestructive handler:^(UIPreviewAction * _Nonnull action, UIViewController * _Nonnull previewViewController) { 
     NSLog(@"Destructive Action triggered"); 
    }]; 

    UIPreviewAction *action3 = [UIPreviewAction actionWithTitle:@"Selected Action" style:UIPreviewActionStyleSelected handler:^(UIPreviewAction * _Nonnull action, UIViewController * _Nonnull previewViewController) { 
     NSLog(@"Selected Action triggered"); 
    }]; 

    return @[action1, action2, action3]; 
} 

アップルドキュメント:

このプロパティは あなたのプレビュー(PEEK)ビューコントローラと共に使用するためのものです previewingContext:viewControllerForLocation:デリゲートメソッドの実装に存在します。

このメソッドを実装すると、そのようなプレビューにすばやく操作できます。 プレビューでユーザーが上にスワイプすると、プレビューの下のシートに のクイックアクションアイテムが表示されます。

このメソッドのデフォルト実装では、空の配列が返されます。将来の読者のために

+1

質問をよくお読みください。私はPeek-and-Popのプレビューを参照するのではなく、上記のアプリで特別なものを参照しています。標準のプレビューでは、指を離さずにアクションを選択することはできません。 –

+0

メールを作成するにはどうすればよいですか?私はプレビューコントローラに標準のDisplayComposerSheetメソッドを持っていますが、それを実行するように指示すると、メソッドはそのプレビューで起動するように指示し、プレビューはもう存在しないので、コンポーザは表示されません。 – user717452

2

、この質問のためにアップルからの応答は次のとおりです。

は現在、これらの事を行うには、公開APIはありません。これがあなたのアプリでやりたいことであれば、バグレポートを提出し、あなたが何をしようとしているのかについて具体的な情報を含めてください。

出典:Apple Developer Forum

関連する問題