Mam niestandardowy UIViewController i odpowiedni widok w pliku stalówki. Widok jest bezpośrednio dodawany do obiektu UIWindow.Konstruktor interfejsów: zmiana rozmiaru widoku z NIB
[window addSubview:customViewController.view];
Rozmiary okna i widok są domyślne (480x320 i 460x320 odpowiednio).
Kiedy tworzę CustomViewController wewnątrz pliku nib i sprawdzić "Resize View From NIB" w IB Atrybuty Zakładka wszystko działa dobrze.
Ale gdy tworzę CustomViewController programmmatically z initWithNibName wiadomości widok nie jest umieszczony na szybie poprawnie. Na dole jest pusty pasek. Jego wysokość to 20 pikseli. Widzę, że to z powodu przesunięcia paska stanu.
IB obsługuje to za pomocą "Zmiana rozmiaru widoku z NIB". Jak emulować programowo?
Wygląda na to, że IB używa jakiejś niestandardowej podklasy UIViewController. Tak więc pytanie: , w jaki sposób zaimplementowano tam "Resize View From NIB"?
Próbowałem, ale to nie działa dla mnie. Pojawi się ten sam pasek u dołu. – alexey
[[self view] setFrame: CGRectMake (0, 20, 320, 480)]; To działa, ale wygląda na coś w rodzaju hardcoding. [[UIScreen mainScreen] ograniczenia]] zwraca (0, 0, 320, 480). – alexey
Zamiast tego należy użyć applicationFrame: self.view.frame = {CGPointZero, [UIScreen mainScreen] .applicationFrame.size]}; – Francescu