Я знаю, что этот вопрос задан раньше, но никто из них не может решить мою проблему.NCWidgetDisplayMode не установлен в .expanded в iOS 10
Я хочу, чтобы высота сегодняшнего расширения была переменной.
Для этого я включил ниже код, как предложено в соответствующих должностях:
override func viewDidLoad()
{
super.viewDidLoad()
if #available(iOSApplicationExtension 10.0, *)
{
self.extensionContext?.widgetLargestAvailableDisplayMode = .expanded
}
else
{
// Fallback on earlier versions
}
}
@available(iOSApplicationExtension 10.0, *)
func widgetActiveDisplayModeDidChange(_ activeDisplayMode: NCWidgetDisplayMode, withMaximumSize maxSize: CGSize)
{
if activeDisplayMode == .expanded
{
preferredContentSize = CGSize(width: 0.0, height: 200.0)
}
else
{
preferredContentSize = maxSize
}
}
Проблема я столкнулся, даже после установки widgetLargestAvailableDisplayMode
в .expanded
в viewDidLoad
, когда метод протокола widgetActiveDisplayModeDidChange
называется, его все еще дает мне activeDisplayMode
как .compact
.
Что еще нужно сделать, чтобы виджет работал прямо в iOS 10?