小部件现在包括显示模式的概念(由NCWidgetDisplayMode表示),它可以让您描述有多少内容可用,并允许用户选择紧凑或扩展视图。
如何在 ios 10.0 中扩展小部件?它不像在 ios 9 中那样工作。
小部件现在包括显示模式的概念(由NCWidgetDisplayMode表示),它可以让您描述有多少内容可用,并允许用户选择紧凑或扩展视图。
如何在 ios 10.0 中扩展小部件?它不像在 ios 9 中那样工作。
好的,我在这里找到了正确的解决方案。
1) 将显示模式设置为NCWidgetDisplayMode.expanded
first in viewDidLoad
:
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)
}
}
它将作为官方应用程序运行。
这是一个Objective-C。
- (void)widgetActiveDisplayModeDidChange:(NCWidgetDisplayMode)activeDisplayMode
withMaximumSize:(CGSize)maxSize
{
if (activeDisplayMode == NCWidgetDisplayModeCompact) {
self.preferredContentSize = maxSize;
}
else {
self.preferredContentSize = CGSizeMake(0, 200);
}
}