标签: mssticker

以编程方式发送 WhatsApp 贴纸

我正在 Android 中开发一个应用程序,该应用程序需要使用先前选择的贴纸打开 WhatsApp 对话。

也许有一种方法可以像发送图片一样做到这一点,如下所示:

Intent sendIntent = new Intent("android.intent.action.MAIN");
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.setType("image/*");
sendIntent.putExtra("jid", numero + "@s.whatsapp.net");
sendIntent.putExtra(Intent.EXTRA_TEXT, message);
sendIntent.putExtra(Intent.EXTRA_STREAM, filepath);
sendIntent.setPackage("com.whatsapp");
startActivity(sendIntent);
Run Code Online (Sandbox Code Playgroud)

android android-intent whatsapp mssticker

9
推荐指数
0
解决办法
660
查看次数

以编程方式创建Sticker Pack,将UICollectionViewCell转换为MSStickerView

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

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

override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
    let item = data[indexPath.row]
    return deQStickerCell(for: item, at: indexPath)
}

private func deQStickerCell(for sticker: MSSticker, at indexPath: IndexPath) -> UICollectionViewCell {
    let cell = collectionView?.dequeueReusableCell(withReuseIdentifier: "Cell", for: indexPath) as! StickerCell
    cell.stickerView.sticker = sticker
    return cell
}
Run Code Online (Sandbox Code Playgroud)

和我的StickerCell类中的代码:

class StickerCell: UICollectionViewCell {
    var stickerView: MSStickerView!
}
Run Code Online (Sandbox Code Playgroud)

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

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

programmatically-created swift msstickerview mssticker imessage-extension

7
推荐指数
1
解决办法
360
查看次数

如何在 MSStickerBrowserViewController 中设置stickerSize

当我按照文档建议通过将其嵌入容器视图(使用故事板)来创建 MSStickerBrowserViewController 子类时,我似乎没有机会设置贴纸大小。Sticker Browser VC 是用 init(coder:) 初始化的,我无法看到覆盖 get-only 属性stickerSize。我只能得到stickerSize = MSStickerSize.regular。

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

多亏了shallowThought,我看到在MSStickerBrowserViewController 上可以使用初始化器init(stickerSize: MSStickerSize),但到目前为止,我一直无法找到在使用故事板并覆盖所需的init(coder:) 初始化器时触发该初始化器的方法。

我错过了什么吗?

谢谢!

ios swift swift3 mssticker

3
推荐指数
1
解决办法
334
查看次数