今天的扩展 iOS10 显示 More/Less
Today's extension iOS10 Show More/Less
已更新 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];
}];
}
}
一切正常。但是,如果我将小部件保持在紧凑模式(显示更多选项可用)并且如果我 rerun/reopen 小部件屏幕并且如果我点击显示更多按钮,即使触发了委托方法也没有任何反应。我应该按 2 次显示 more/less 直到小部件开始扩展。
我也收到此错误:No active animation block!
我发现了问题。
我已经编辑了 self.preferredContentSize
即使小部件是紧凑的 mode.Just 每次更新时检查 preferredContentSize
如果 widgetActiveDisplayMode
是 NCWidgetDisplayModeExpanded
我遇到了同样的问题,然后查看情节提要我发现设置 "User Preferred Explicit Size" 已启用。
禁用该选项对我有用。
已更新 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];
}];
}
}
一切正常。但是,如果我将小部件保持在紧凑模式(显示更多选项可用)并且如果我 rerun/reopen 小部件屏幕并且如果我点击显示更多按钮,即使触发了委托方法也没有任何反应。我应该按 2 次显示 more/less 直到小部件开始扩展。
我也收到此错误:No active animation block!
我发现了问题。
我已经编辑了 self.preferredContentSize
即使小部件是紧凑的 mode.Just 每次更新时检查 preferredContentSize
如果 widgetActiveDisplayMode
是 NCWidgetDisplayModeExpanded
我遇到了同样的问题,然后查看情节提要我发现设置 "User Preferred Explicit Size" 已启用。
禁用该选项对我有用。