在iOS 10上的MSStickerBrowserViewController中,如何判断用户选择了哪个贴纸?

时间:2016-09-20 20:10:57

标签: ios ios10 imessage msstickerview

我有一个MSStickerBrowserViewController的子类,它包含一个带有几十个MSStickers的MSStickerBrowserView。对于分析,我们试图跟踪贴纸应用程序中最受欢迎的贴纸。有没有办法告诉用户选择了哪个MSSticker?

1 个答案:

答案 0 :(得分:5)

遗憾的是,没有委托方法告诉我们这些信息。我通过创建自己的MSStickerViews的UICollectionView,然后在贴纸视图中添加点按和长按手势识别器来解决这个问题。

确保手势的shouldRecognizeSimultaneouslyWith委托方法返回true,这样他们就不会妨碍。

要跟踪贴纸是否实际发送而非选定需要更多工作。点击并发送贴纸非常简单 - MSMessagesAppViewController方法didStartSending和didCancelSending可以告诉您是否从输入视图发送或丢弃了消息。

跟踪去皮和应用贴纸分析比较棘手。将贴纸应用于对话中的先前消息不会触发任何这些方法。到目前为止,我想出的最好的方法是跟踪长按结束的位置,并对是否已发送或取消贴纸做出有根据的猜测。