Obecnie migruję moją aplikację na iOS 7 i godzinami utknąłem na nowym zarządzaniu kontrolerem nawigacji / paskiem.
Wcześniej, kiedy mieliśmy kontroler nawigacyjny, mieliśmy taki fragment:
UINavigationController *navController = [[UINavigationController alloc]initWithRootViewController:[[MainViewController alloc]init]];
W narzędziu do tworzenia interfejsu mieliśmy możliwość ustawienia istniejącego paska nawigacji dla widoku i wszystko pasowało do zawartości rzeczywistego widoku.
OK, więc teraz nie mam pojęcia, jak prawidłowo projektować za pomocą konstruktora interfejsu. Nadal mam swój fragment do zainicjowania kontrolera navcontrollera. Jednak w konstruktorze interfejsu dla mojego MainViewController, jeśli ustawię pasek stanu na półprzezroczysty lub nieprzezroczysty pasek nawigacji, mam przesunięcie 44px na górze (patrz poniżej).
Interface Builder_________________________ I wynik
Teraz, jeśli ustawię pasek stanu na brak, nie ma przesunięcia na górze, ale ponieważ widok na symulatorze jest mniejszy z powodu paska nawigacji, dolna część widoku w konstruktorze interfejsu jest obcięta.
Interface Builder_________________________ I wynik
Wydaje mi się, że naprawdę czegoś mi brakuje, ale nie mogę znaleźć żadnego tematu ani informacji o Apple w Przewodniku przejścia na iOS7 na ten temat.
Dzięki za pomoc
EDYTOWAĆ
Jak widać na zdjęciach, pierwszym dzieckiem widoku jest UIScrollView, który zawiera obie etykiety, problem nie pojawia się, gdy nie ma scrollviewu. Pojawia się również, jeśli jest to UITableView. Jeśli etykieta znajduje się poza UIScrollView, nie ma przesunięcia do tej etykiety.