Ich füge nur TabBarController + NavigationController hinzu. Vorher war alles in Ordnung, aber jetzt, wenn ich presentViewController von einem Modal aufrufen, bekomme ich diesen Fehler:
Beenden der App aufgrund einer nicht abgefangenen Ausnahme 'NSInvalidArgumentException', Grund: '- [UITabBarController tableViewListado]: unerkannter Selektor, der an Instanz
gesendet wurde
Anstatt das erwartete Objekt (ViewController) zu erhalten, bekomme ich "UITabBarController", sollte ich den präsentierenden Controller auf eine andere Weise bekommen, wenn ich TabBar und Nav Controller verwende?
Ohne die TabBar / Nav benutzte ich das:
%Vor%Bearbeiten:
Finde einfach heraus, dass, wenn ich das tue, es funktioniert, aber denke nicht, dass dies der beste Weg ist, es zu tun:
%Vor%Kopie meiner Antwort von diese Frage
von Programmierung von iOS 6, von Matt Neuburg :
Wenn auf dem iPad der modelPresentationStyle des View-Controllers UIModalPresentationCurrentContext ist, muss eine Entscheidung darüber getroffen werden, welcher View-Controller der presentingViewController des präsentierten View-Controllers sein soll. Dadurch wird festgelegt, welche Ansicht durch die Ansicht des View-Controllers ersetzt wird. Diese Entscheidung umfasst eine andere UIViewController-Eigenschaft, definesPresentationContext (a BOOL). Beginnend mit dem View-Controller, an den presentViewController: animated: completion: gesendet wurde, durchlaufen wir die Kette der übergeordneten View-Controller und suchen nach einem, dessen definePresentationContext-Eigenschaft YES ist. Wenn wir einen finden, ist das der eine; es wird der presentingViewController sein, und seine Ansicht wird durch die Ansicht des Viewcontrollers ersetzt. Wenn wir keinen finden, funktionieren die Dinge so, als wäre der modalPresentationStyle des View-Controllers UIModalPresentationFullScreen gewesen.
TL; DR
1. Setzen Sie definesPresentationContext
auf True auf die gewünschte presentingViewController
2. Setzen Sie modalPresentationStyle
auf UIModalPresentationCurrentContext
auf die gewünschte presentedViewController