2016-10-12 10 views
0

iMessage Extensionを開発中ですが、いつも呼び出されない場合はdidSelect(_ message: MSMessage, conversation: MSConversation)が呼び出されることがあります。しかし、いつ呼び出すのか、そうでないのか分からない。拡張機能の起動後の私の見解によると、メッセージメソッドをタップすると呼び出されますが、そのメソッドは呼び出されません。私はメッセージのすべてのタップを追跡したいです。iMessage ExtensionのメッセージをタップするとDidSelectメソッドが呼び出されない

iMessage Extensionでタップオンメッセージを識別する方法はありますか?

override func didSelect(_ message: MSMessage, conversation: MSConversation) { 

    super.didSelect(message, conversation: conversation) 
    isExpandingFromMessage = true 

} 

以下は、私のiMessage Extensionからの画像で、ユーザーがメッセージをタップしたときにイベントを識別したいと考えています。それが唯一の火災はときに最初にメッセージを選択するよう

enter image description here

答えて

1

方法は、「didTap」、「didSelect」ではないと呼ばれています。システムは、トランスクリプトにメッセージオブジェクトをユーザが選択したことに 応じて会話のselectedMessageプロパティを更新した後に呼び出されます

:あなたはhttps://developer.apple.com/reference/messages/msmessagesappviewcontroller

FUNCのdidSelect(MSConversation MSMessage、会話)で定義され、この動作を見つけることができます。あなたがメッセージのすべてのタップを追跡したい場合は、メッセージビューにUITapGestureRecognizerを追加してみてください可能性がある」

+0

はい、あなたは正しいです、 'didSelect'は' selectedMessage'が更新されると呼び出されます。 – technerd

+0

しかし、MSMessageにジェスチャーを追加することはできません。 – technerd

+0

したがって、ユーザーが同じメッセージを複数回選択したときはどうしたら検出できますか?初めてのイベントは1回だけです。その後、イベントは呼び出されず、メッセージが選択されたときに実行された同じアクションをアプリで実行する方法がわかりません。 – Alex

関連する問題