Erhalten Rahmen Höhe ohne navigation bar Höhe und tab-Leiste in Höhe tieferen Einblick in die Hierarchie

Ich habe einen ViewController (B), die gehandhabt wird von einem PageViewController, die sich in einem anderen ViewController (A) und öffnen Sie Sie modal. Ich habe mittig den ViewController (B) genau in der Mitte des Bildschirms. Dies funktioniert sehr gut.

Aber wenn ich drücken Sie die ViewController (A) aus einem NavigationController Rahmen der ViewController (B) ist zu groß und erstreckt sich unter die NavigationBar und die TabBar. Aber ich möchte es zentriert zwischen die NavigationBar und die TabBar.

Ich wissen, wie kann ich die Höhe der navbar und die tabbar so konnte ich die Größe ViewController (B):

var topBar = self.navigationController?.navigationBar.frame.height
var bottomBar = self.tabBarController?.tabBar.frame.height

Aber das funktioniert nicht tief in das vier-Hierarchie im ViewController (B). selbst.navigationController und selbst.tabBarController sind gleich null. Wie also bekomme ich die Höhe der navbar und tabbar tiefer in die view-Hierarchie? Oder muss ich einfach haben, um es zu übergeben unten von einem ViewController zum anderen, bis ich erreichen ViewController (B)? Oder ist da noch ein offensichtlicher Weg, um die Ansicht zu zentrieren? Danke.

(Ich habe versucht zu posten, screenshots zum besseren Verständnis, aber mir fehlt die nötige Ruf Punkte zu posten Bilder, sorry)

Versuchen yourview.bounds nach viewDidAppear.
Die Grenzen geben Sie nicht mir die topLayoutGuide und/oder die bottonLayoutGuide
Wenn Sie geöffnet haben, die view-controller Modal, es ist nicht ein Kind der controller mit der Tab-Bar daher selbst.tabBarController ist null. Es sitzt oben in der navigation stack. Sie müssen pass, die info durch, e.g, in Vorbereitung(für den übergang:). Wenn Sie schon die Modal geöffnet dann, warum Sie möchten, dass der Benutzer zu denken, Sie können klicken Sie auf die Registerkarte Schaltflächen (die Sie wahrscheinlich nicht)? Vielleicht haben Sie nicht meine Modal öffnen.

InformationsquelleAutor Darko D. | 2015-05-28

Schreibe einen Kommentar