Ich habe eine Multi-View-Anwendung mit der folgenden Hierarchie darzustellen:Attempt eine UIViewController deren Ansicht ist, nicht in der Fensterhierarchie
splash -> Navigationssteuerung -> Tabelle View-Controller -> Einstellungen View Controller
Splash ist der Eingangspunkt der Anwendung und wird daher zum Stammansicht-Controller. Wenn ich versuche, eine Kachel an die Band über eine Aktion auf den Einstellungen Controller anzuzeigen hinzuzufügen, erhalte ich eine Debugger Warnung:
Anwendung [1929: 1.000.746] Warnung: Versuch < MSBAddTileDialogViewController_iOS vorstellen: 0x15f0575b0 > auf < SplashViewController : 0x15dd597b0 > dessen Ansicht nicht in der Fensterhierarchie ist!
Dies geschieht unmittelbar nach dem Anruf an MSBClient.tileManager addTile:completionHandler:
. Der Aufruf wird nie zurückgegeben, es wird kein Fehler generiert.
Irgendwelche Vorschläge, wie Sie das umgehen können?
Ich arbeite nur mit der iOS-Entwicklung, daher kann ich Ihre Frage wahrscheinlich nicht direkt beantworten. Wenn Sie ein Tile mithilfe des Band SDK hinzufügen, wird versucht, dem Benutzer einen Bestätigungsdialog anzuzeigen. Es kann sein, dass Ihr Controller-Stack nicht gut damit übereinstimmt, wie das Band SDK den richtigen Controller findet, dem ein eigener View-Controller hinzugefügt werden soll. Möglicherweise müssen Sie weitere Snippets Ihres Einstellungsansicht-Controllers bereitstellen, um zu sehen, wie/wann in seinem Lade-/Anzeigeprozess versucht wird, die Kachel hinzuzufügen. –
@ phil-hoff-msft, danke fürs anschauen. Hier ist [ein Beispiel] (http://mikeradin.com/ModifiedBandTileEvent.zip). Ich habe das mit dem iOS SDK-Download enthaltene Beispiel so geändert, dass eine Zwischenansicht hinzugefügt wurde, die die Benutzeroberfläche nicht zum Stammansicht-Controller macht. Das gleiche Problem existiert. – chortik
Dies ist ein bekanntes Problem, da das SDK versucht, das Bestätigungsdialogfeld auf dem Stammansicht-Controller anzuzeigen, auch wenn es nicht Teil der Ansichtshierarchie ist. Die einzige Problemumgehung für den Moment besteht darin, sicherzustellen, dass der Root-View-Controller beim Aufruf von addTile: angezeigt wird. –