0

私はiMessage拡張機能を開発してdidSelect(_ message: MSMessage, conversation: MSConversation)いますが、常に呼び出されるわけではなく、時々呼び出されます。しかし、それが呼び出されたときとそうでないときは取得できません。拡張機能の起動後の私の観察によると、メッセージメソッドを初めてタップすると呼び出されますが、その後はメソッドが呼び出されません.メッセージのすべてのタップを追跡したい.

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

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

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

}

以下は私の iMessage 拡張機能の画像で、ユーザーがメッセージをタップしたときにイベントを識別したいと考えています。

ここに画像の説明を入力

4

1 に答える 1

1

メソッドは「didTap」ではなく「didSelect」と呼ばれるため、最初にメッセージを選択したときにのみ起動します。この動作は、https://developer.apple.com/reference/messages/msmessagesappviewcontrollerで定義されています。

func didSelect(MSMessage, 会話: MSConversation)

ユーザーがトランスクリプトでメッセージ オブジェクトを選択したことに応答して、システムが会話の selectedMessage プロパティを更新した後に呼び出されます。"

メッセージのすべてのタップを追跡する場合は、UITapGestureRecognizer をメッセージ ビューに追加してみてください。

于 2016-10-12T15:30:12.240 に答える