添加贴纸背景颜色与Swift

问题描述 投票:0回答:1

我刚刚用Swift制作了我的第一张iMessage贴纸,但是我无法更改贴纸显示的框中的背景颜色。我不希望它是白色的。我怎样才能做到这一点?我在哪里放代码?

我在MessagesExtensions下创建了一个新的Swift文件并使用了这段代码。我添加了所有图像并将它们连接到Storyboard的课程中。我尝试过在网上找到的所有类型的代码,包括:

self.view.backgroundColor = UIColor.black  
self.view.backgroundColor = UIColor(patternImage: UIImage(named: "Pattern")!)  

我是新生儿,也许我没有在正确的地方添加代码?我没有改变MessagesViewController.Swift代码,但我应该这样做?

无论如何,这是我使用的代码:

    var stickers :[MSSticker]!

    var stickerNames = ["Brokkoli8","Carrot2","Eggplant4","Gresskar9","Lettuce6","Mushroom3","Onion10","Paprika2","Potato5","Tomato7"]

    override func viewDidLoad() {
        super.viewDidLoad()

        self.stickers = [MSSticker]()
        self.stickers = loadStickers()
    }

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

    override func stickerBrowserView(_ stickerBrowserView: MSStickerBrowserView, stickerAt index: Int) -> MSSticker {
        return self.stickers[index]
    }

    private func loadStickers() -> [MSSticker] {

        var stickers = [MSSticker]()

        for stickerName in self.stickerNames {

            guard let url = Bundle.main.url(forResource: stickerName,withExtension: "png") else {
                fatalError("resource does not exist")
            }

            let sticker = try! MSSticker (contentsOfFileURL: url,
                                          localizedDescription: stickerName)

            stickers.append(sticker)

        }

        return stickers
    }
}
ios swift uicolor imessage ios-stickers
1个回答
1
投票

看看wwdc对此的介绍:https://developer.apple.com/videos/play/wwdc2016/204/特别是20分钟开始。

简而言之:您需要子类化MSStickerBrowserView,您可以在其上设置背景颜色

© www.soinside.com 2019 - 2024. All rights reserved.