NCWidgetDisplayMode未设置为。在iOS 10中展开
我知道以前有人问过这类问题,但没有一个能解决我的问题 我想将今天的延伸高度设置为可变 为此,我在相关帖子中建议了以下代码:NCWidgetDisplayMode未设置为。在iOS 10中展开,ios,swift3,today-extension,ios10-today-widget,Ios,Swift3,Today Extension,Ios10 Today Widget,我知道以前有人问过这类问题,但没有一个能解决我的问题 我想将今天的延伸高度设置为可变 为此,我在相关帖子中建议了以下代码: override func viewDidLoad() { super.viewDidLoad() if #available(iOSApplicationExtension 10.0, *) { self.extensionContext?.widgetLargestAvailableDis
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
}
}
我面临的问题是,即使在viewDidLoad
中将widgetlagestavailabledisplaymode
设置为.expanded
后,当调用协议方法widgetActiveDisplayModeDidChange
时,它仍然将activeDisplayMode
设置为.compact
要使小部件在iOS 10中正常工作,还需要做些什么呢?我想出来了
实际上,当小部件第一次加载时,它默认处于compact
模式,因此widgetActiveDisplayModeDidChange
被activeDisplayMode
调用为.compact
装载后
widgetActiveDisplayModeDidChange
将以activeDisplayMode
作为.expanded
调用widgetActiveDisplayModeDidChange
将以activeDisplayMode
作为.compact
调用