diff --git a/SignalMessaging/ViewControllers/Stickers/StickerKeyboard.swift b/SignalMessaging/ViewControllers/Stickers/StickerKeyboard.swift index f1583bdc61..208169998c 100644 --- a/SignalMessaging/ViewControllers/Stickers/StickerKeyboard.swift +++ b/SignalMessaging/ViewControllers/Stickers/StickerKeyboard.swift @@ -20,14 +20,28 @@ public class StickerKeyboard: UIStackView { @objc override public var frame: CGRect { didSet { - Logger.verbose("----- frame: \(frame), bounds: \(bounds)") + logLayout() } } @objc override public var bounds: CGRect { didSet { - Logger.verbose("----- frame: \(frame), bounds: \(bounds)") + logLayout() + } + } + + private func logLayout() { + Logger.verbose("----- frame: \(frame), bounds: \(bounds)") + Logger.verbose("----- \t: \(headerView.frame)") + Logger.verbose("----- \t: \(stickerCollectionView.frame)") + Logger.verbose("----- \t: \(footerView.frame)") + + DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 2.0) { + Logger.verbose("----- frame: \(self.frame), bounds: \(self.bounds)") + Logger.verbose("----- \t: \(self.headerView.frame)") + Logger.verbose("----- \t: \(self.stickerCollectionView.frame)") + Logger.verbose("----- \t: \(self.footerView.frame)") } } @@ -89,11 +103,11 @@ public class StickerKeyboard: UIStackView { stickerCollectionView.setCompressionResistanceVerticalLow() // stickerCollectionView.autoSetDimension(.height, toSize: 100) - footerView.axis = .horizontal - footerView.alignment = .center - addArrangedSubview(footerView) - footerView.setContentHuggingVerticalHigh() - footerView.setCompressionResistanceVerticalHigh() +// footerView.axis = .horizontal +// footerView.alignment = .center +// addArrangedSubview(footerView) +// footerView.setContentHuggingVerticalHigh() +// footerView.setCompressionResistanceVerticalHigh() } private func reloadStickers() { diff --git a/SignalMessaging/ViewControllers/Stickers/StickerPackCollectionView.swift b/SignalMessaging/ViewControllers/Stickers/StickerPackCollectionView.swift index a58a485b44..05fdd81932 100644 --- a/SignalMessaging/ViewControllers/Stickers/StickerPackCollectionView.swift +++ b/SignalMessaging/ViewControllers/Stickers/StickerPackCollectionView.swift @@ -21,19 +21,7 @@ public class StickerPackCollectionView: UICollectionView { didSet { AssertIsOnMainThread() - if let stickerPack = stickerPack { - // Only show installed stickers. - stickerInfos = StickerManager.installedStickers(forStickerPack: stickerPack) - - // Download any missing stickers. - StickerManager.ensureDownloadsAsync(forStickerPack: stickerPack) - } else { - stickerInfos = [] - } - - Logger.verbose("---- stickerInfos: \(stickerInfos.count)") - - self.reloadData() + reloadStickers() } } @@ -79,12 +67,30 @@ public class StickerPackCollectionView: UICollectionView { @objc func stickersOrPacksDidChange() { AssertIsOnMainThread() - self.reloadData() + reloadStickers() } required public init(coder: NSCoder) { notImplemented() } + + private func reloadStickers() { + AssertIsOnMainThread() + + if let stickerPack = stickerPack { + // Only show installed stickers. + stickerInfos = StickerManager.installedStickers(forStickerPack: stickerPack) + + // Download any missing stickers. + StickerManager.ensureDownloadsAsync(forStickerPack: stickerPack) + } else { + stickerInfos = [] + } + + Logger.verbose("---- stickerInfos: \(stickerInfos.count)") + + reloadData() + } } // MARK: - UICollectionViewDelegate @@ -192,7 +198,6 @@ extension StickerPackCollectionView { if (itemSize != flowLayout.itemSize) { flowLayout.itemSize = itemSize flowLayout.invalidateLayout() - reloadData() } } }