Nie jestem pewien, dlaczego UIView jest poruszany o około 10px

Stworzyłem prostą aplikację na iPhone'a, która ma dwa pliki .xib. W delegatorze aplikacji, gdy aplikacja zakończyła uruchamianie, wyświetlam pierwszy plik .xib, dzwoniąc:

<code>[window addSubview:myView];
</code>

i robię to samo na IBAction dla UIButton, aby zmienić widok na myView2.

Odkryłem, że gdy uruchamiam aplikację, jest to biały pasek o wielkości około 10 pikseli dla obu widoków. Zauważam 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 na ekranie i kończy się krótko.

Jakiś pomysł, dlaczego tak się dzieje, jak mogę to naprawić lub jak mogę dalej debugować, co się dzieje? Sprawdziłem moje pliki .xib i zużywają pełną wysokość urządzenia (tj. Brak białych pasków), więc wygląda to na problem wewnątrz XCode.

EDYTUJ: Zawęziłem trochę problem. Używam dwóch metod do załadowania widoku podrzędnego. Kiedy ładuję pierwszy widok do środkaapplicationDidFinishLaunching wszystko w porządku. Jeśli jednak zamienię dwie wiadomości nawindow z[self originalView] metoda, wtedy wszystko idzie trochę haywire.

<code>- (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];

}
</code>

Z tego co widzę, zawsze nazywam te same linie kodu, bez względu na to, czy jest wewnątrzapplicationDidFinishLaunching lub w[self originalView] ale wygląda na towindow okazuje się być innym obiektem.

questionAnswers(5)

yourAnswerToTheQuestion