Расширение iMessage: обратный вызов при переключении вида (сжатие/увеличение)

В моем расширении iMessage я показываю стикеры пользователю, которые отображаются правильно только тогда, когда MSStickerView имеет правильный размер. Я изменяю его размер с помощью sizeToFit(). Однако переключение между представлениями меняет его размер на максимально возможный. Есть ли функция, вызываемая всякий раз, когда нажимается кнопка переключения, в которую я могу добавить свой код, и можете ли вы указать мне функцию, которая фактически выполняет максимальное изменение размера при переключении (тот, который мне не нужен)?


person NikiNeu    schedule 13.07.2017    source источник


Ответы (1)


Вам нужно переопределить 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

person Dean    schedule 13.07.2017
comment
Спасибо, это то, что я искал. Однако поведение, похоже, не меняется для расширения. - person NikiNeu; 13.07.2017