今天的扩展iOS10显示更多/更少

时间:2016-10-25 07:13:37

标签: ios objective-c ios10 ios10-today-widget

已更新今天的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次显示更多/更少,直到小部件开始扩展。 我也收到此错误:No active animation block!

2 个答案:

答案 0 :(得分:14)

我发现了这个问题。

即使小部件处于紧凑模式,我也编辑了self.preferredContentSize。如果preferredContentSizewidgetActiveDisplayMode NCWidgetDisplayModeExpanded时都要进行检查>

答案 1 :(得分:2)

我遇到了同样的问题然后查看了故事板我意识到启用了“用户首选显式大小”设置。

enter image description here

禁用该选项对我有用。