/ /拡張情報ボタンにViewControllerを表示編集モード-macos、swift、osx-yosemite、osx-yosemite-beta

拡張情報ボタンにViewControllerを表示編集モード - macos、swift、osx-yosemite、osx-yosemite-beta

私はヨセミテのTodayExtensionに取り組んでいます。編集モードではなく、SettingsViewControllerを表示したいと思います。 「widgetDidBeginEditing」で「presentViewControllerInWidget」を実行すると、奇妙な不具合が発生し、ViewControllerが常に非表示および表示されます。

誰かが情報ボタンのクリックでviewControllerを表示することを達成したか、そのグリッチの回避策を知っていますか?

func widgetDidBeginEditing() {
self.presentViewControllerInWidget(self.settingsViewController)
}

回答:

回答№1は1

これは私のために働いた:

func widgetDidBeginEditing() {

var delay = dispatch_time(DISPATCH_TIME_NOW, Int64(0.1 * Double(NSEC_PER_SEC)))
dispatch_after(delay, dispatch_get_main_queue()) {
self.presentViewControllerInWidget(self.settingsViewController)
}
}

回答№2の場合は1

これはYosemiteリリースに組み込まれたバグだと思います。 ウィジェットに関するドキュメントはせいぜい非常に大雑把であり、フレームワークにはかなりの奇妙な点があるようです。

シンボリックブレークポイントをに追加する場合 widgetDidBeginEditing 小さな編集をクリックすると2つのヒットがありますボタンを押すと、編集ボタンが「キャンセル」になります。でも「完了」と言うはずです。 「追加」アクションの後でのみ「キャンセル」と表示されます(Appleの天気ウィジェットをチェックしてください)

重要なこと:私はNCWidgetListViewControllerでテンプレートを使用していませんが、独自のリスト実装を使用しています。

誰かがこの問題の適切な解決策を見つけたら、私はとても幸せです!