Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 为什么贴纸包在MSMessageAppViewController中以列表方式而不是网格方式显示贴纸_Swift_Imessage_Mssticker - Fatal编程技术网

Swift 为什么贴纸包在MSMessageAppViewController中以列表方式而不是网格方式显示贴纸

Swift 为什么贴纸包在MSMessageAppViewController中以列表方式而不是网格方式显示贴纸,swift,imessage,mssticker,Swift,Imessage,Mssticker,我正在swift3中为我的信息应用程序实施贴纸包应用程序 我的代码是这样的 func loadStickers() { for i in 1...6 { if let url = Bundle.main.url(forResource: "flower\(i)", withExtension: "jpg") { do { let sticker = try MSSticker(contentsOfFileURL:

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

我的代码是这样的

 func loadStickers() {
    for i in 1...6 {
        if let url = Bundle.main.url(forResource: "flower\(i)", withExtension: "jpg") {
            do {
                let sticker = try MSSticker(contentsOfFileURL: url, localizedDescription: "")
                stickers.append(sticker)
            } catch {
                print(error)
            }
        }
    }
}



func createStickerBrowser() {
    let controller = MSStickerBrowserViewController(stickerSize: .large)

    addChildViewController(controller)
    view.addSubview(controller.view)

    controller.stickerBrowserView.backgroundColor = UIColor.blue
    controller.stickerBrowserView.dataSource = self

    view.topAnchor.constraint(equalTo: controller.view.topAnchor).isActive = true
    view.bottomAnchor.constraint(equalTo: controller.view.bottomAnchor).isActive = true
    view.leftAnchor.constraint(equalTo: controller.view.leftAnchor).isActive = true
    view.rightAnchor.constraint(equalTo: controller.view.rightAnchor).isActive = true
}
//代表

func numberOfStickers(in stickerBrowserView: MSStickerBrowserView) -> Int {
    return stickers.count
}

func stickerBrowserView(_ stickerBrowserView: MSStickerBrowserView, stickerAt index: Int) -> MSSticker {
    return stickers[index]
}
这里的输出也来了没有错误也

但问题是贴纸显示的像列表一样,我需要网格,这意味着每行3个贴纸我搜索了很多教程,但我没能得到任何人能帮我吗

提前谢谢

let controller = MSStickerBrowserViewController(stickerSize: .large)

大的贴纸是206 x 206点,这意味着在大多数设备上没有空间显示每行超过一个。如果需要网格,请使用较小的标签尺寸。如果要完全控制视图,请在单元格内使用带有
MSStickerView
的集合视图

如何使用集合视图和标签视图实际上我创建了一个集合视图,我还实现了委托,但如何在MSStickerView中使用..有人能帮我吗