/ / ViewController auf der Schaltfläche "Erweiterungsinfo" anzeigen Bearbeitungsmodus - macos, swift, osx-yosemite, osx-yosemite-beta

ViewController auf Erweiterungs-Info-Schaltfläche anzeigen Bearbeitungsmodus - Macos, Swift, Osx-Yosemite, Osx-Yosemite-Beta

Ich arbeite an einer Today Extension für Yosemite. Ich möchte einen SettingsViewController anzeigen, anstatt in den Bearbeitungsmodus zu wechseln. Wenn ich "presentViewControllerInWidget" auf "widgetDidBeginEditing" stelle, kommt es zu einigen seltsamen Störungen, und der View-Controller blendet sich ständig aus und zeigt sie an.

Hat es jemand geschafft, einen viewController beim Klicken auf die Info-Schaltfläche anzuzeigen, oder kennt er eine Problemumgehung für diesen Fehler?

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

Antworten:

1 für die Antwort № 1

Das hat für mich funktioniert:

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)
}
}

1 für die Antwort № 2

Ich denke, dies ist ein Fehler, der es in die Yosemite-Veröffentlichung geschafft hat. Die Dokumentation auf Widgets ist bestenfalls sehr lückenhaft und es scheint, dass das Framework einige Kuriositäten aufweist.

Beim Hinzufügen eines symbolischen Haltepunkts zu widgetDidBeginEditing Ich erhalte zwei Treffer, wenn ich auf die kleine Bearbeitung klickeDie Schaltfläche "Bearbeiten" wird zu "Abbrechen". Es soll aber "Done" sagen. Erst nach einer Aktion "Hinzufügen" sollte "Abbrechen" angezeigt werden (sehen Sie sich einfach das Wetter-Widget von Apple an).

Wichtig zu sagen: Ich verwende das Template nicht mit dem NCWidgetListViewController, sondern mit meiner eigenen Listenimplementierung.

Wenn jemand eine richtige Lösung für dieses Problem findet, würde ich mich sehr freuen!