iOS10のウィジェットがそのままでは高さ固定になって崩れてしまう。
対処法
ウィジェットを広げるボタンを追加する
以下実装
swift
viewDidLoadとかに
self.extensionContext?.widgetLargestAvailableDisplayMode = NCWidgetDisplayMode.Expanded
func widgetActiveDisplayModeDidChange(_ activeDisplayMode: NCWidgetDisplayMÓode, withMaximumSize maxSize: CGSize) {
if (activeDisplayMode == NCWidgetDisplayMode.compact) {
self.preferredContentSize = maxSize;
}
else {
self.preferredContentSize = CGSize(width: 0, height: 200);
}
}
objective-c
viewDidLoadとかに
[self.extensionContext setWidgetLargestAvailableDisplayMode:NCWidgetDisplayModeExpanded];
- (void)widgetActiveDisplayModeDidChange:(NCWidgetDisplayMode)activeDisplayMode
withMaximumSize:-(CGSize)maxSize
{
if (activeDisplayMode == NCWidgetDisplayModeCompact) {
self.preferredContentSize = maxSize;
}
else {
self.preferredContentSize = CGSizeMake(0, 200);
}
}
これで広げてデザイン崩れを防げます