2016-07-26 22 views
0

Ich habe einen Assistenten in einigen UIViewControllers in einem UINavigationController und UITabBar; Der Wizard-Schritt muss nacheinander ausgeführt werden, und wenn der Benutzer versucht, die Zurück-Schaltfläche zu drücken oder andere Tab-Elemente auswählt, muss ich das Ereignis abfangen und eine Nachricht wie "Möchten Sie den Wizard wirklich stoppen? (Ja/Nein)?" . Welches Ereignis muss ich erfassen, um meine Warnung anzuzeigen?IOS: Wie verhindere ich die Ablehnung von UIViewController?

Antwort

0

Es klingt für mich wie dies ist ein UX-Problem, das durch einen etwas anderen Ansatz für die Art und Weise gelöst werden könnte, wie Ihre UI strukturiert ist.

Dieser Assistent klingt wie modal process, da der Benutzer entweder eine Aufgabe durch Befolgen der angegebenen Schritte ausführen oder abbrechen soll. In diesem Fall sollten Sie present the UINavigationController modally. Dies bedeutet, dass der Benutzer in Ihrem Assistenten nicht mit der Tableiste interagieren kann, um eines Ihrer Probleme zu lösen.

Was die Zurück-Taste betrifft, wenn der Benutzer nicht möchte in der Lage sein, wieder zu gehen, würde ich hide the back button vom UINavigationItem aller UIViewController s, die in der UINavigationController präsentiert werden, und eine Löschtaste zur Verfügung stellen als links oder rechts UIBarButtonItem. Wenn das Zurückgehen nur ein Problem des ersten Schritts ist, müssen Sie die Zurück-Schaltflächen überhaupt nicht ausblenden.