控制器中的旋转木马在我的集合视图中弄乱了大小

Zet*_*aPR 5 xcode objective-c collectionview ios

我在我的视图顶部有一个UICollectionView,还有一个ListView,当我点击ListView的一个项目时,它打开一个新的控制器,顶部和底部有两个(隐藏/未隐藏)栏,全屏带有Carousel的WebView.我正常使用水龙头或滑动,但在关闭我的新视图后(我在顶部栏中有一个X)它会显示上一个视图但突然收集大小的高度较小.¿我该如何防止这种情况?

我一直在寻找周围,这就像同样的问题,可是我的问题没有导航栏的区别,是导航栏下方的集合.

我已经花了好几个小时,我需要有人指点我.

编辑 在此输入图像描述

在此输入图像描述

在此输入图像描述

编辑 - 更新

我在我的第一个视图中有一个ListView,一个

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

我在另一个视图中有一个观察者,它是我整个应用程序的常见视图,因为它左边有菜单,它改变了右边的数据:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(showfooMode:) name:@"showFooMode" object:nil];
Run Code Online (Sandbox Code Playgroud)

和选择方法....

-(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;
        }];
Run Code Online (Sandbox Code Playgroud)

Zet*_*aPR 0

最后,我实现了它,现在这种情况不再发生了。仅当您不需要导航栏并且可以设置自己的自定义栏时,这才有效。我这样做的方式不是以编程方式创建顶部栏,而是在布局中创建它,之后一切正常工作。我认为主要问题出在第二个视图中,因为它是全屏模式。