2016-07-18 20 views
0

Ich habe einen Container-View-Controller und zwei Kinder-View-Controller (CV1 und CV2). CV1 hat eine Bildlaufansicht und CV2 hat UITableView, ich bin erfolgreich in der Lage, mit zwischen Kind View-Controller, aber es scheint, CV1 fügt ~ 64 Padding an der Spitze, aber nicht für CV2. Und Navigationsleiste ist für beide verborgen. Ich verwende diesen Code:iOS ChildViewController hat andere Ansicht

-(void)displayContentController:(UIViewController *)content withFrame:(CGRect)frame { 
    [self addChildViewController:content]; 
    content.view.frame = frame; 
    [self.view addSubview:content.view]; 
    [content didMoveToParentViewController:self]; 
} 

ich doppelt habe überprüft, dass ich den richtigen Wert für frame Noch CV1 bin vorbei

+0

kann u exp wenig gelegen – remyr3my

+0

Das ist ein gescheitertes Verhalten, ich bin nie auf solche Situation gestoßen, daher die Frage. Es scheint, dass es zusätzliche Punkte für den CV1view-Frame hinzufügt (wenn der Frame untersucht wird, wird der korrekte Frame zurückgegeben (0,54,320,514)) **, aber ** die View wird nicht dort positioniert, wo sie sein sollte (dh die View ist auf (0, 118, 320, 514)). – Nagesh

+1

Haben Sie die Debug-Funktion von Xcode verwendet? Es kann Ihnen sagen, welche Logik (Constraints) zur Berechnung von Ansichtspositionen und -größen verwendet wird. –

Antwort

0
  1. prüfen zusätzlichen Raum fügt hinzu, dass die Scroll-Ansicht in CV1 doesn ‚t haben eine Einschränkung zu topLayoutGuide
  2. Versuchen automaticallyAdjustsScrollViewInsets von CV1 überschrieben und das Rück NO