我已经为iOS 10实现了新的小部件,并使用以下代码为其设置了高度:

@available(iOSApplicationExtension 10.0, *)
func widgetActiveDisplayModeDidChange(activeDisplayMode: NCWidgetDisplayMode, withMaximumSize maxSize: CGSize) {
    if activeDisplayMode == NCWidgetDisplayMode.Compact {
        self.preferredContentSize = CGSizeMake(0.0, 350.0)
    }
    else if activeDisplayMode == NCWidgetDisplayMode.Expanded {
        self.preferredContentSize = desiredSize
    }

}

而且工作正常,但是我的问题是使用“显示更多” “显示较少” 按钮。它们并不总是响应,我经常不得不多次单击以触发它们。我想念什么吗?是否需要添加以上代码以处理高度?

最佳答案

我有同样的问题,问题是即使小部件处于紧凑模式,我也更新了preferredContentSize

尝试检查更新preferredContentSize的每个位置,并仅在widgetActiveDisplayModeNCWidgetDisplayModeExpanded的情况下更新大小

10-07 17:30