gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 12:23:24 26 4
gpt4 key购买 nike

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

我的代码是这样的

 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 点,这意味着在大多数设备上,每行没有空间显示多个贴纸。如果您想要网格,请使用较小的贴纸尺寸。如果您想完全控制 View ,请在单元格内使用带有 MSStickerView 的 Collection View 。

关于swift - 为什么贴纸包在 MSMessagesAppViewController 中以列表方式显示贴纸而不是在网格中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44518773/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com