iMessage 扩展:切换视图时的回调 (compact/enlarge)

iMessage Extension: Callback when switching view (compact/enlarge)

在我的 iMessage 扩展中,我向用户显示贴纸,只有当 MSStickerView 具有正确的大小时,这些贴纸才会正确显示。我使用 sizeToFit() 调整它的大小。但是,在视图之间切换会将其大小更改为最大可能。是否有每当按下切换按钮时调用的函数,我可以将我的代码添加到其中,你能指点我在切换时实际进行最大调整大小的函数(我不想要的那个)吗?

您需要覆盖 func didTransition(to: MSMessagesAppPresentationStyle)

演示文稿完成更改时将调用它。

override func didTransition(to: MSMessagesAppPresentationStyle) {
    super.didTransition(to: to)

    switch to {
    case .compact:
        // Do your compact presentation
        break
    case .expanded:
        // Do your expanded presentation
        break
}

API 参考:https://developer.apple.com/documentation/messages/msmessagesappviewcontroller/1649192-didtransition