我的主要应用程序有小部件。我需要更改activedisplaymode。Apple 没有为这些公开任何 API。是否可以通过任何其他方式实现。我仅支持 iOS 10.0 及更高版本。
您可以在viewDidLoad方法中设置
override func viewDidLoad() {
super.viewDidLoad()
self.extensionContext?.widgetLargestAvailableDisplayMode = NCWidgetDisplayMode.expanded
}
稍后当您想更改大小时,您可以在widgetActiveDisplayModeDidChange 中进行
func widgetActiveDisplayModeDidChange(_ activeDisplayMode: NCWidgetDisplayMode, withMaximumSize maxSize: CGSize) {
if (activeDisplayMode == NCWidgetDisplayModeCompact) {
self.preferredContentSize = maxSize
}
else {
// when its in expanded mode
self.preferredContentSize = CGSize(width: 0, height: yourHeight)
}
}
宽度是固定的。所以你可以通过 0
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句