iOS 10 Today Extension не переходит в расширенный режим, остается компактным

Я пишу расширение Today, и оно корректно работает на моем устройстве iOS 9.

На iOS 10 я прочитал множество постов, в которых говорится, что нам нужно установить расширенный режим для расширения, расширяющегося дальше, чем высота 110, но когда я следую всем ответам о том, как это сделать, мой виджет постоянно остается в компактном режиме.,

Это то, что я использую

    @available(iOS 10.0, *)
    @available(iOSApplicationExtension 10.0, *)
    func widgetActiveDisplayModeDidChange(_ activeDisplayMode: NCWidgetDisplayMode, withMaximumSize maxSize: CGSize) {
        if activeDisplayMode == .expanded {
            self.preferredContentSize = CGSize(width: maxSize.width, height: 400)
        } else if activeDisplayMode == .compact {
            self.preferredContentSize = CGSize(width: maxSize.width, height: 110)
        }
    }

    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        if #available(iOS 10.0, *) {
            self.extensionContext?.widgetLargestAvailableDisplayMode = NCWidgetDisplayMode.expanded
        }
    }

Я установил значение на расширенный, а затем он входит в протокол, и, находясь там, он входит в оператор else для компактного, а не расширенного.

Я попытался установить режим в viewDidAppear, а также viewWillAppear.

Нигде в моем коде я не устанавливаю параметр preredContentSize

Там есть дюжина ответов, в которых говорится, что это должно сработать, поскольку я не могу понять, что я сделал неправильно?

Есть ли что-то еще, что мне нужно делать?

Это пример принятого ответа на этот вопрос - Расширение на сегодня: как работать с режимом отображения?

ОБНОВЛЕНИЕ: я только что увидел кнопку "Показать больше"... может быть, я неправильно понял вещи, возможно ли расширить этот старт? Я вынужден нажать кнопку "Показать больше"? Это может объяснить, почему это не работает?

1 ответ

Решение

Что вы делаете, когда внедряете widgetActiveDisplayModeDidChange разрешает пользователю расширять виджет. Текст "Показать больше" появляется в правом верхнем углу, и пользователь может нажать на него, чтобы переключиться в расширенный режим. Виджет приложения Apple для погоды является стандартным примером.

Другие вопросы по тегам