问题标签 [mssticker]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
210 浏览

ios - 是否可以识别分配给您的 iMessage 扩展程序的贴纸?

我们需要实现 iMessage 应用程序,并可以为消息分配评级。有没有办法用贴纸来做到这一点?

iMessage 扩展 API 是否允许识别已分配给已发送消息的贴纸?如果是这样,是否有任何限制 - 关于贴纸必须是同一应用程序的一部分,或者您的扩展程序可以识别来自其​​他扩展程序的贴纸。

0 投票
2 回答
808 浏览

ios - 触发点击 MSSticker 或以编程方式查看?

好吧,我已经查看了如何以编程方式触发 UIView 的轻击手势识别器和类似的问题,但找不到我要查找的内容。我正在构建一个 iMessage 应用程序扩展,并且需要以编程方式触发 MSSticker 上的点击事件。

我已经使用以下类制作了自定义 MSStickerViews,该类检测何时被按下和/或点击,然后触发另一个功能,但是我不知道如何实际模拟这些点击,以便将贴纸放在输入字段中:

只调用上面的一个点击函数不起作用的原因是我不需要用点击触发任何特定的函数 - 我只需要在 MSStickerView 中的 MSSticker 上创建一个假点击,这样它就会被放入输入字段。我不知道该怎么做。

我像这样创建我的 MSStickerViews 并将它们放在集合视图中,但是以编程方式点击集合视图单元格没有任何作用(我试过):

我有一种感觉可能类似于(伪代码)

是正确的,但 MSStickerView 没有.sendActionForEvent

生无可恋。如何创建假水龙头?

0 投票
2 回答
349 浏览

ios - 如何在 MSStickerBrowserViewController 中设置stickerSize

当我按照文档建议通过将 MSStickerBrowserViewController 子类嵌入到容器视图(使用情节提要)中来创建它时,我似乎没有机会设置stickerSize。Sticker Browser VC 使用 init(coder:) 进行初始化,我无法看到覆盖 get-only 属性stickerSize。我只能得到stickerSize = MSStickerSize.regular。

我也没有在界面构建器中看到任何用于配置属性的控件,尽管文档说“您还可以自定义浏览器内贴纸的大小”。

多亏了 shallowThought,我看到 MSStickerBrowserViewController 上有一个可用的初始化程序 init(stickerSize: MSStickerSize),但到目前为止,我一直无法找到在使用情节提要并覆盖所需的 init(coder:) 初始化程序时触发该初始化程序的方法。

我错过了什么吗?

谢谢!

0 投票
0 回答
268 浏览

swift - Swift:如何为 iMessage 扩展压缩 apng?

好吧,我最近刚刚了解了 png 和 apng 之间的区别,但我有一个自定义贴纸消息扩展,使用此框架项目中的类动画贴纸:https ://github.com/radif/MSSticker-Images

Apple 对动画贴纸的大小限制是 500 kb,但我从其他论坛了解到的是,即使当 Xcode 将您的 png 转换为 apng 制作像这里这样的贴纸时,总 png 大小小于 500 kb(我的是),还有额外的增加了尺寸。这导致我的项目崩溃:

我以编程方式从文件夹加载我的图像,而不是资产: 在此处输入图像描述 当我有超过 11 个 618x618 pngs 时,它开始崩溃,然后现在我能够使用更小的 300x300 图像获得更多图像,但我不想制作动画具有不确定的帧数限制。

除了减小尺寸以减小尺寸之外,还有其他方法吗?我发现了这个https://github.com/onevcat/APNGKit如果我使用它手动将我的 png 转换为 apng,它会停止添加额外的大小吗?

0 投票
1 回答
106 浏览

swift - 为什么贴纸包在列表中显示贴纸而不是在 MSMessagesAppViewController 的网格中

我正在 swift3 中为我的消息应用程序实现贴纸包应用程序

我的代码是这样的

//代表

这里的输出也没有错误

但问题是贴纸显示像列表我需要网格意味着每行 3 个贴纸我搜索了很多教程但我没有得到任何人都可以帮助我请..

提前致谢

0 投票
0 回答
350 浏览

animation - 如何在 Swift 3 中向我的消息应用程序添加 .gif 格式的贴纸?

我被一个问题困住了,你能解决我吗?

实际上,我正在为 imessage 应用程序实现自定义贴纸包。为此,我实现了所有工作正常但只有一个案例。

因此,如果我添加 .jpg 或 .png 格式的文件,它的显示和发送就完美了。如果我为贴纸添加 .gif 格式的图像,它在显示时间时不会动画。

显示目的我使用了集合视图MSStickerView

我的代码是:

这些是我的集合视图代表:

这是UICollectionViewCell

这是扩展:

所以我想存储.gif格式的贴纸,谁能帮帮我,我尝试了很多方法,但我没有得到。

提前致谢。

0 投票
1 回答
108 浏览

swift - CollectonView 在加载到视图后“重新调整”原点

我正在制作一个自定义贴纸包。它是一个 iMessage 扩展应用程序。我正在继承 UICollectionView 而不是使用基本的 MSMessagesViewController。因此,仅当我在展开视图中选择 V 形图标以更改回紧凑视图时,才会发生这种情况。发生了什么事(您可以在下面的 gif 中看到)是贴纸放置在视图中并且似乎设置在它们的位置,但是在一瞬间之后,它们似乎重新调整了它们的位置......CollectionView 中有什么东西吗?我应该做些什么来防止这种情况?

我开始认为这可能是一个错误,因为包含文本字段、iMessage 应用程序抽屉图标、心形图标和相机图标的标题栏似乎被截断了大约与班次相同的数量。

在此处输入图像描述

这是来自github的代码

0 投票
2 回答
562 浏览

ios - Swift:如何在主项目和消息扩展之间共享动态图像

我正在尝试向我的应用程序添加贴纸扩展,以便用户可以在我的应用程序中创建贴纸,然后在消息中使用它们。但是,文件路径似乎不同,所以我无法将图像保存到文件路径,然后将它们加载到消息扩展名中。基本上,在应用程序及其扩展程序之间共享数据的最佳方式是什么?特别是对于 NSUserDefaults 来说太大的数据。

0 投票
1 回答
528 浏览

swift - 以编程方式创建贴纸包,将 UICollectionViewCell 转换为 MSStickerView 时出现问题

所以,我选择在我的消息扩展贴纸包中不使用故事板。iMessage 应用程序带有一个故事板文件和一个 MessagesViewController.swift。我创建了 2 个名为 CollectionViewController 和 StickerCell 的文件。这个想法是将 CollectionViewCell 子类化并将其转换为 MSStickerView 并将该视图作为“单元格”出列到我的 CollectionView 中。

以下是将“StickerCell”设置为 MSSstickerView 的代码:

以及我的 StickerCell 类中的代码:

我猜问题出在这里,因为我已经使用故事板和 StickerClass 中的确切代码成功完成了此操作,除了 var 是一个 IBOutlet。很明显,有些东西没有连接到 CollectionView,或者我错过了一步。在 Interface Builder 中,我将创建 CollectionViewController,给它一个 CollectionView,给它一个 CollectionViewCell,然后在顶部添加一个 UIView 并将它的类更改为 MSStickerView。

如何以编程方式重新创建 Interface Builder 工作流程!?

0 投票
1 回答
360 浏览

ios - 如何在 Swift 中显示 Document 目录中的贴纸

那么对于上面的“MSSticker(contentsOfFileURL:url,localizedDescription:”“)”我可以得到保存在Bundle中的贴纸。但是如果我给出文件目录的路径,则不显示任何贴纸。我正在从 api 下载图像,将我的 sqlite(图像名称)和图像保存在文档目录中,以便用户可以离线查看它。我找不到解决方案。需要帮助什么是错的以及如何正确地做。谢谢你。