今日の拡張機能の高さをプログラムで変更したいと考えています。 iOS10 SDSKがNCWidgetDisplayMode
を導入したので、私はそれを使用してプログラムで高さを変更しようとしています。preferredContentSize
IOS10ウィジェットでNCWidgetDisplayModeをプログラム的に変更
widgetActiveDisplayModeDidChange
を実装している
:
@available(iOSApplicationExtension 10.0, *)
func widgetActiveDisplayModeDidChange(activeDisplayMode: NCWidgetDisplayMode, withMaximumSize maxSize: CGSize) {
if (activeDisplayMode == NCWidgetDisplayMode.Compact) {
self.preferredContentSize = maxSize
}
else {
self.preferredContentSize = CGSize(width: maxSize.width, height: 280)
}
}
私はUIButton
が押されたときにウィジェットの高さを拡張したい:
@IBAction func multiplybyonethousand (sender: AnyObject) {
if self.extensionContext?.widgetActiveDisplayMode == NCWidgetDisplayMode.Compact {
self.widgetActiveDisplayModeDidChange(.Expanded, withMaximumSize: CGSizeMake(0, 300))
}
}
私は自分のコードを実行したときしかし、今日の拡張子の高さがありませんコンソールは私に次のエラーを与えます:
2016-11-05 14:24:29.425697 todayextension[28590:7222420] No active animation block!
私は、アニメーションブロック内widgetActiveDisplayModeDidChange
を呼び出そうとしています:
@IBAction func multiplybyonethousand (sender: AnyObject) {
if self.extensionContext?.widgetActiveDisplayMode == NCWidgetDisplayMode.Compact {
UIView.animateWithDuration(0.2, delay: 0, options: .CurveLinear, animations: {() -> Void in
self.widgetActiveDisplayModeDidChange(.Expanded, withMaximumSize: CGSizeMake(0, 300))
}) { (completed) -> Void in
//Do Stuff
}
}
}
しかし、私はまだNo active animation block!
エラーメッセージが表示されます。 iOS10で今日の拡張機能ビューをプログラムで拡張する方法はありますか?