Ich habe einen einfachen Fall, in dem ich einen neuen Viewcontroller auf einen Navigationscontroller-Stack schiebe. Dieser VC verwendet eine Xib und hat eine UISearchBar
, die auf den oberen und linken "Container" beschränkt ist, was in diesem Fall einfach die Hauptansicht ist.ViewController - Hauptansichtselemente bei (0,0) sind durch die Navigationsleiste verdeckt
Wenn ich diese VC auf den Stapel schieben, wird die Suchleiste nicht angezeigt. Dies liegt daran, dass die Navigationsleiste oben liegt und die ersten 50 Punkte des Gerätebildschirms einnimmt. (vermutlich nach der Statusleiste).
Wenn ich die automatische Layout-Beschränkung für den oberen Container auf 50 oder einen Y-Offset einstelle, der ausreicht, um der Höhe der Navigationsleiste entgegenzuwirken, wird die Suchleiste angezeigt.
Ich arbeite an einem Projekt, bei dem ich VCs auf einen Nav-Stack von UINavigationController
schiebe, den ich nicht erstellt habe. Ich frage mich, welche Gründe dazu führen könnten (was ich Buggy nennen würde). Mein Verständnis war, dass jeder viewController in einem navController den Rahmen der Hauptansicht in der Anwesenheit von nav/status/tab-Balken anpassen würde. Was kann ich tun, um sicherzustellen, dass der Ursprung (0,0) am Bildschirmursprung + Statusleiste Höhe + Höhe der Navigationsleiste beginnt? Außerdem möchte ich, dass die Untergrenze meiner VC-Hauptansicht oben in der Tab-Leiste endet, die auch auf dem Bildschirm angezeigt wird. Ich habe verschiedene UIView- und ViewController-Eigenschaften untersucht und keine zufriedenstellende Lösung gefunden.