今天扩展 AutoLayout 不工作
Today Extension AutoLayout Not Working
我的问题是我不知道如何显示我的整个扩展程序。它应该显示四行,但它总是像这样切断:
我阅读了一些主题并尝试了 preferredContentSize,但它也不起作用:
func widgetPerformUpdate(completionHandler: (@escaping (NCUpdateResult) -> Void)) {
self.preferredContentSize = CGSize(width: 0, height: 400)
completionHandler(NCUpdateResult.newData)
}
令人沮丧的是我什至不需要 preferredContentSize 因为我设置了自动布局约束!
您会注意到底部约束是一条虚线,因为它当前设置为 999 优先级,但我也尝试过设置为 1000。
我该如何解决这个问题?请帮忙!!
我知道你在说什么,我也有同样的问题。
我认为您的小部件不能高于您设备的特定高度。但是您可以启用扩展模式,在该模式下您可以在小部件的紧凑视图和扩展视图之间切换。
我想它应该清除今天视图中太大的小部件。
本文将对您有所帮助:https://forums.developer.apple.com/thread/48930
重要的部分是:
self.extensionContext?.widgetLargestAvailableDisplayMode = .expanded
func widgetActiveDisplayModeDidChange(_ activeDisplayMode: NCWidgetDisplayMode, withMaximumSize maxSize: CGSize) {
if (activeDisplayMode == .compact) {
self.preferredContentSize = maxSize;
}
else {
self.preferredContentSize = CGSize(width: 359, height: 200)
}
}
我的问题是我不知道如何显示我的整个扩展程序。它应该显示四行,但它总是像这样切断:
我阅读了一些主题并尝试了 preferredContentSize,但它也不起作用:
func widgetPerformUpdate(completionHandler: (@escaping (NCUpdateResult) -> Void)) {
self.preferredContentSize = CGSize(width: 0, height: 400)
completionHandler(NCUpdateResult.newData)
}
令人沮丧的是我什至不需要 preferredContentSize 因为我设置了自动布局约束!
您会注意到底部约束是一条虚线,因为它当前设置为 999 优先级,但我也尝试过设置为 1000。
我该如何解决这个问题?请帮忙!!
我知道你在说什么,我也有同样的问题。
我认为您的小部件不能高于您设备的特定高度。但是您可以启用扩展模式,在该模式下您可以在小部件的紧凑视图和扩展视图之间切换。
我想它应该清除今天视图中太大的小部件。
本文将对您有所帮助:https://forums.developer.apple.com/thread/48930
重要的部分是:
self.extensionContext?.widgetLargestAvailableDisplayMode = .expanded
func widgetActiveDisplayModeDidChange(_ activeDisplayMode: NCWidgetDisplayMode, withMaximumSize maxSize: CGSize) {
if (activeDisplayMode == .compact) {
self.preferredContentSize = maxSize;
}
else {
self.preferredContentSize = CGSize(width: 359, height: 200)
}
}