iOS/WAStickersThirdParty/StickerCell.swift (38 lines of code) (raw):

// // Copyright (c) WhatsApp Inc. and its affiliates. // All rights reserved. // // This source code is licensed under the BSD-style license found in the // LICENSE file in the root directory of this source tree. // import UIKit final class StickerCell: UICollectionViewCell { private let imageView: UIImageView var sticker: Sticker? { willSet { if newValue !== sticker { imageView.image = nil } } didSet { if oldValue !== sticker { if let currentSticker = sticker { StickerPackManager.queue.async { let image = currentSticker.imageData.image(withSize: CGSize(width: 256, height: 256)) DispatchQueue.main.async { if let sticker = self.sticker, currentSticker === sticker { self.imageView.image = image } } } } } } } required override init(frame: CGRect) { imageView = UIImageView() imageView.contentMode = .scaleAspectFit super.init(frame: frame) contentView.addSubview(imageView) } required init?(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } override func layoutSubviews() { super.layoutSubviews() imageView.frame = contentView.bounds } }