2016-05-12 3 views
5

Ich habe eine UICollectionView auf der Oberseite meiner Ansicht und auch eine ListView, wenn ich auf ein Element der ListView klicken öffnet es einen neuen Controller mit zwei (versteckt/nicht versteckt) Balken oben und unten und ein WebView im Vollbildmodus mit Karussell. Ich benutze tippen oder wischen normal, aber nachdem ich meine neue Ansicht schließen (ich habe ein X in der oberen Leiste) zeigt es die vorherige Ansicht, aber plötzlich ist die Größe der Sammlung kleiner in der Höhe. Wie verhindere ich das?Karussell in Controller ist Chaos mit Größen in meiner Sammlung anzeigen

Ich habe mich umgesehen und es ist das gleiche Problem wie this aber der Unterschied, dass mein Problem nicht die NavigationBar ist, ist die Sammlung unter der Navigationsleiste.

Ich war Stunden damit und ich brauche jemanden, der mich in irgendeine Richtung zeigt.

EDIT enter image description here

enter image description here

enter image description here

EDIT - UPDATE

ich in meiner ersten Blick haben die Listview ein, ein

[[NSNotificationCenter defaultCenter] postNotificationName: showFooMode....

ich in einer anderen Ansicht eines Beobachters haben, ist es die gemeinsame Ansicht für meine ganze app, weil es das Menü in der linken Seite haben und es ändert sich die Daten in der rechten Seite:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(showfooMode:) name:@"showFooMode" object:nil]; 

und die Auswahlmethode ....

-(void)showfooMode:(NSNotification *)notification{ 
    NSLog(@"Show fooView in the GeneralView); 
     FooItem *foo = [notification.object objectForKey:@"foo"]; 
     NSInteger currentIndex = [[notification.object objectForKey:@"foo"] integerValue]; 

     auxFooView = [notification.object objectForKey:@"delegate"]; 
     // currentIndex = 20; 

     fooView = [self.storyboard instantiateViewControllerWithIdentifier:@"fooView"]; 
     [fooView setNews:news]; 
     [fooView setDelegate:self]; 
     [fooView setCurrentIndex:currentIndex]; 
     fooView.view.alpha = 0; 



     [self.view addSubview: magazineVC.view]; 
     [self addChildViewController:fooView]; 


     fooView.view.translatesAutoresizingMaskIntoConstraints = NO; 

     NSDictionary *views = @{@"childview": fooView.view}; 
     [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"|-0-[childview]-0-|" options:0 metrics:nil views:views]]; 
     [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-0-[childview]-0-|" options:0 metrics:nil views:views]]; 
     [self.view layoutIfNeeded]; 

     [UIView animateWithDuration:0.3 animations:^{ 
      fooView.view.alpha = 1; 
     }]; 
+0

Können Sie bitte einige Screenshots oder Skizzen hinzufügen? – glm4

+0

Ich habe eine Skizze gemacht, damit Sie sie sehen können. Hoffe diese Hilfe zu meiner Erklärung – ZetaPR

+0

Ist Ihr 2. Controller die Statusleiste versteckt? – glm4

Antwort

0

Schließlich habe ich es, erreichen und jetzt ist dies nicht mehr geschieht. Dies funktioniert nur, wenn Sie die Navigationsleiste nicht benötigen und Ihre eigene benutzerdefinierte Leiste festlegen können. Die Art, wie ich dies tue, erstellt nicht die obere Leiste programmgesteuert ich erstelle es im Layout und danach hat alles richtig funktioniert. Ich nehme an, dass das Hauptproblem in der 2. Ansicht war, weil es ein Vollbildmodus war.

Verwandte Themen