Stworzyłem prostą aplikację na iPhone'a z dwoma plikami .xib. W aplikacji delegata przy zastosowaniu dokończył wodowanie wyświetlać pierwszy plik .xib pod numerem:Nie wiem, dlaczego wartość UIView jest przybliżana o około 10px
[window addSubview:myView];
i zrobić to samo na IBAction na UIButton aby zmienić widok na myView2.
Po uruchomieniu aplikacji widzę biały pasek o wielkości około 10 pikseli dla obu widoków. Zauważyłem również, że przyciski są przesunięte o 10 pikseli (w przybliżeniu). Mam więc wrażenie, że widok jest wyświetlany z 10 pikseli poza ekranem, a kończy krótko.
Każdy pomysł, dlaczego tak się dzieje, jak mogę to naprawić, lub jak mogę dalej debugować, co się dzieje? Sprawdziłem moje pliki .xib i pochłaniają pełną wysokość urządzenia (tj. Brak białych pasków), więc wygląda to na problem w XCode.
EDYCJA: Zawęziłem problem trochę. Używam dwóch metod do załadowania podglądu. Kiedy ładuję pierwszy widok wewnątrz applicationDidFinishLaunching
wszystko jest w porządku. Jednak jeśli zamieniam dwie wiadomości na window
metodą [self originalView]
, wszystko pójdzie trochę w szum.
- (void)applicationDidFinishLaunching:(UIApplication *)application {
//[self originalView]; <- I want to use this instead of the following two lines
// Override point for customization after app launch
[window addSubview:viewController.view];
[window makeKeyAndVisible];
}
-(void)endView{
endV = [[EndViewController alloc] initWithNibName:@"EndView" bundle:nil];
[window removeFromSuperview];
[window addSubview:endV.view];
}
-(void)originalView{
viewController = [[MyAppViewController alloc] init];
[window removeFromSuperview];
[window addSubview:viewController.view];
}
Z tego co widzę, jestem zawsze nazywając te same linie kodu, bez względu na to, czy to wewnątrz applicationDidFinishLaunching
lub w [self originalView]
ale wydaje się window
obraca się inny obiekt.
Wszystkie przykłady, które widziałem, używają UINavigationController do wyświetlania hierarchii list, to do czego służy tylko? Czy mogę go używać do kontrolowania, które widoki są wyświetlane, nawet jeśli nie wymagają one paska nawigacyjnego itp.? –