小部件现在包括显示模式的概念(由NCWidgetDisplayMode表示),它让你描述有多少内容可用并允许用户选择紧凑或扩展视图。
如何在iOS 10.0中展开小部件?它与iOS 9中不同。
小部件现在包括显示模式的概念(由NCWidgetDisplayMode表示),它让你描述有多少内容可用并允许用户选择紧凑或扩展视图。
如何在iOS 10.0中展开小部件?它与iOS 9中不同。
好的,我找到了正确的解决方案这里。
1)在viewDidLoad
中首先将显示模式设置为NCWidgetDisplayMode.expanded
:
override func viewDidLoad() {
super.viewDidLoad()
self.extensionContext?.widgetLargestAvailableDisplayMode = NCWidgetDisplayMode.expanded
}
2) 实现新的协议方法:
func widgetActiveDisplayModeDidChange(_ activeDisplayMode: NCWidgetDisplayMode, withMaximumSize maxSize: CGSize) {
if (activeDisplayMode == NCWidgetDisplayMode.compact) {
self.preferredContentSize = maxSize
}
else {
//expanded
self.preferredContentSize = CGSize(width: maxSize.width, height: 200)
}
}
它将作为官方应用程序运行。
- (void)widgetActiveDisplayModeDidChange:(NCWidgetDisplayMode)activeDisplayMode
withMaximumSize:(CGSize)maxSize
{
if (activeDisplayMode == NCWidgetDisplayModeCompact) {
self.preferredContentSize = maxSize;
}
else {
self.preferredContentSize = CGSizeMake(0, 200);
}
}
viewDidLoad
代码片段并没有将模式设置为.expanded
,它只是使其可用(默认模式是.compact
)。 - undefined