Had updated the today's extension for iOS 10 implement the delegate method:
-(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];
}];
}
}
everything work fine. But if I leave the widget in compact mode (with show more option available) and if i rerun/reopen the widget screen and if i tapped on Show More button nothing happens even if the delegate method is triggered. I should press 2 time show more/less until widget starts expanding.
I also receive this error:No active animation block!
I found the issue.
I had edited the self.preferredContentSize
even if the widget was in the compact mode.Just check every time when you update the preferredContentSize
if widgetActiveDisplayMode
is NCWidgetDisplayModeExpanded
I was having the same issue and then checking out the storyboard I realized that the setting "User Preferred Explicit Size" was enabled.
Disabling that option worked for me.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With