Почему стикер отображает наклейки в списке, а не в сетке в MSMessagesAppViewController
Я внедряю приложение стикеров в приложение для сообщений в 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 стикера, я искал много уроков, но мне не удалось получить, может кто-нибудь помочь мне, пожалуйста..
заранее спасибо
1 ответ
let controller = MSStickerBrowserViewController(stickerSize: .large)
Большие стикеры имеют размер 206 x 206 баллов, что означает, что на большинстве устройств нет места для отображения более одного на ряд. Если вы хотите сетку, используйте меньший размер стикера. Если вы хотите получить полный контроль над представлением, используйте представление коллекции с MSStickerView
внутри клетки.