已经更新了iOS 10的今天扩展
实现委托方法:
实现委托方法:
-(void)widgetActiveDisplayModeDidChange:(NCWidgetDisplayMode)activeDisplayMode withMaximumSize:(CGSize)maxSize { if (activeDisplayMode == NCWidgetDisplayModeCompact){ [UIView animateWithDuration:0.25 animations:^{ self.preferredContentSize = maxSize; [self.view layoutIfNeeded]; }]; } else if (activeDisplayMode == NCWidgetDisplayModeExpanded){ newHeight = [self getNewWidgetHeight]; [UIView animateWithDuration:0.25 animations:^{ self.preferredContentSize = CGSizeMake(0,newHeight); [self.view layoutIfNeeded]; }]; } }
一切正常.但是如果我将小部件保持在紧凑模式(显示更多选项)并且如果我重新运行/重新打开小部件屏幕,并且如果我点击“显示更多”按钮,即使触发委托方法也没有任何反应.我应该按2次显示更多/更少,直到小部件开始扩展.
我也收到这个错误:没有活动的动画块!
解决方法
我发现了这个问题.
我已经编辑了self.preferredContentSize,即使小部件处于紧凑模式.如果widgetActiveDisplayMode是NCWidgetDisplayModeExpanded,每次更新preferredContentSize时都要检查