iOS10まではウィジェットのサイズを変更する際(show more、show lessボタン)にviewWillTransitionToSize:withTransitionCoordinator:が呼ばれていたところがiOS11では呼ばれなくなった件についてメモします。
(書き方の問題もあるので今回のような件はあまりないと思いますが・・)
if (activeDisplayMode == NCWidgetDisplayModeCompact) {
//小さいデフォのサイズ
} else { //show more状態
//拡げたサイズ
bigSize += 0.1; //viewWillTransitionToSizeを呼ぶために+0.1する
[self setPreferredContentSize:bigSize];
}
だいたいこのような実装。viewWillTransitionToSizeでサイズ変更をしたいのになぜか呼ばれなくなった。。
ただ、サイズをめっちゃ大きくしたりすると呼ばれる。
そこで0.1を0.2に変更をするとviewWillTransitionToSizeが呼ばれるようになりました。。。
if (activeDisplayMode == NCWidgetDisplayModeCompact) {
//小さいデフォのサイズ
} else { //show more状態
//拡げたサイズ
bigSize += 0.2; //0.1だと呼ばれなくなった。なぜ??
[self setPreferredContentSize:bigSize];
}