问题标签 [msstickerview]

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 投票
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 投票
0 回答
81 浏览

ios - MSStickerView 动画高内存使用

我正在开发一个自定义 iMessages 贴纸包应用程序,并且在为贴纸制作动画时遇到了极高的内存使用率,这使我的应用程序崩溃。

我所有的图形大小都在 500kb 以下,格式为 GIF。

如果没有动画,我的应用程序的内存使用会保持稳定。一旦 MSStickerView 开始制作动画 ( startAnimating()),内存使用量就会增加约 35mb。当视图中的所有贴纸动画时,内存使用量高到足以使应用程序崩溃。

通过探查器,我跟踪到ImageIO_Malloc调用的分配mmap。因为这是在 MSStickerView 的实现中,所以我认为我无能为力。

有没有其他人经历过这个?有谁知道如何解决它?

内存图

0 投票
1 回答
360 浏览

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

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

0 投票
1 回答
191 浏览

ios - 来自远程 url 的 MSSticker 图像延迟加载(添加加载器)

我想使用远程 URL 从服务器加载贴纸,我从以下帖子中找到了解决方案。

使用远程图像创建 MSSticker

但是现在我想用延迟加载加载贴纸图像,我可以在每个贴纸单元格中添加加载器,直到从远程 url 加载图像。

0 投票
1 回答
104 浏览

swift - 从 UIView 创建的 IMessage MSSticker 视图大小不正确

嘿,我已经为此苦苦挣扎了几天,似乎在标准网格视图之外找不到任何关于MSStickerView尺寸的文档

我正在开发一个MSStickerViews动态创建的应用程序 - 它通过将 a 转换UIView为将其UIImage保存到磁盘然后将 URL 传递给MSSticker在创建MSStickerView框架之前将其设置为原始视图的大小来实现这一点。

我遇到的问题是,当我将其MSStickerView拖入消息窗口时,MSStickerView在被拖动时会缩小 - 然后当拖放到消息窗口中时,会变为更大的大小。我不知道如何控制拖动时的大小或最终图像大小

这是我从视图创建图像的代码

这是将其保存到磁盘的代码

最后这里是将数据路径转换为贴纸的代码

我首先想知道是否需要对视网膜尺寸做些什么,但是在文件中添加@2x 只会破坏图像 - 所以我坚持这一点 - WWDC 会话似乎显示贴纸是从文件路径创建的而不是改变拖放之间过渡的大小 - 任何帮助将不胜感激!

0 投票
1 回答
214 浏览

swift - 将 UIImage 导出为 Messages 应用的贴纸

我正在尝试将 UIImage 导出为 Messages 应用程序的贴纸,但我找不到任何关于此的文档。

我的项目启用了Sticker Pack 扩展,并看到 Xcode 创建了一个新的Stickers.xcassets,我在此处手动添加的每个图像都出现在 Messages 应用程序上以用作贴纸,但是如何以编程方式将图像保存在那里,所以用户可以从任何图像创建贴纸?

我所能找到的只是与创建贴纸相关的信息,而无需编写任何代码,只需发布​​一个带有预定义图像的应用程序。

我知道如何从图像文件创建一个 MSSticker,但在此之后我不知道如何继续并使这个新创建的贴纸出现在 Messages 应用程序上。