A UITabBarController
auf den Stapel geschoben wird:Schaltfläche Bearbeiten angezeigt nicht in UITabBarController der MoreNavigationController
let presenter = presentingViewController as! UINavigationController
let tabvc = UITabBarController()
tabvc.viewControllers = vcs
tabvc.customizableViewControllers = vcs
presenter.pushViewController(tabvc, animated: true)
Sobald die mehr Tab-Taste präsentiert korrekt zeigt, aber die Schaltfläche Bearbeiten der Registerkarte Balken neu zu ordnen nicht. Nach dem docs on the MoreNavigationController:
Die Schnittstelle für den Standard Weitere Artikel enthält eine Schaltfläche Bearbeiten, die der Benutzer die Tab-Leiste neu konfigurieren können. Standardmäßig ist der Benutzer erlaubt, alle Elemente auf der Registerkartenleiste neu anzuordnen. Wenn Sie nicht möchten, dass der Benutzer einige Elemente ändert, können Sie die entsprechenden View Controller aus dem Array in der anpassbaren ViewControllers -Eigenschaft entfernen.
Meine Vermutung ist, dass die Tab-Leiste nicht glücklich ist, in einem Navigationscontroller zu sein. Irgendwelche Ideen, um den Bearbeitungs-Button zurück zu bringen?
Sie brauchen einen Navigationscontroller, um Ihren Tab-Bar-Controller zu halten?Wie Sie festgestellt haben, könnte dies Ihr Problem sein. Besser wäre es, den Tab-Bar-Controller modal mit 'presentViewController' zu präsentieren, der entsprechend den Dokumenten unterstützt wird. –
@RoryMcKinnel: Die Antwort auf ** memmons ** ist eine häufige Situation bei Anwendungen, die ein * login * oder * onboarding * erfordern. Sie beginnen mit einem Navigationscontroller und müssen später zu einem Tab-Controller wechseln. – SwiftArchitect
@SwiftArchitect Ich bekomme den Anwendungsfall, aber Sie können eine Reihe von Möglichkeiten implementieren, die besser mit Container-Controllern arbeiten. Daher würde mein Kommentar, ob es wirklich von einem Nav-Controller gepusht werden muss, wenn man es modal präsentiert, das Problem wahrscheinlich lösen würde. Wie sehr gut in Ihrer Antwort 8 beschrieben). –