0

我正在 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 个贴纸我搜索了很多教程但我没有得到任何人都可以帮助我请..

提前致谢

4

1 回答 1

0
let controller = MSStickerBrowserViewController(stickerSize: .large)

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

于 2017-06-13T11:02:08.183 回答