ios - 在 iOS 10 上的 MSStickerBrowserViewController 中,如何判断用户选择了哪个标签?

标签 ios ios10 imessage msstickerview

我有一个 MSStickerBrowserViewController 的子类,它包含一个带有几十个 MSSticker 的 MSStickerBrowserView。对于分析,我们正在尝试跟踪哪些贴纸在贴纸应用程序中最受欢迎。有什么方法可以判断用户选择了哪个 MSSticker?

最佳答案

不幸的是,没有委托(delegate)方法可以告诉我们这些信息。我通过制作自己的 MSStickerViews 的 UICollectionView 来解决这个问题,然后将点击和长按手势识别器添加到贴纸 View 。

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

要跟踪贴纸是否实际发送或被选中需要更多的工作。点击和发送贴纸非常容易跟踪 - MSMessagesAppViewController 方法 didStartSending 和 didCancelSending 可以告诉您消息是从输入 View 发送还是丢弃。

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

关于ios - 在 iOS 10 上的 MSStickerBrowserViewController 中,如何判断用户选择了哪个标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39602973/

相关文章:

iOS10 iMessage : Unable to insert data into iMessage using MSConversation

ios - 无法附加到 pid : “7722”

ios - 带有通过 SDWebImage 下载的 UIImage 的 MSConversation.insertAttachment

ios - 将通知负载发送到 UIViewController

ios - 从解析后端删除后解析图像文件在应用程序中持久存在

ios - 在 Xcode 8 和 iOS 10 中使用 NSUserDefaults

asp.net - 需要 asp.net 身份验证的视频无法在 iOS 10 上运行

iOS 10 MapKit 上层缩放问题

ios - 使用动画推送 ViewController 时隐藏黑屏

ios - 如果从 Block 调用的方法使用 self,我是否需要使用弱 self 指针?