控制器中的旋转木马在我的 collection 视图中弄乱了尺寸

Carousel in controller is messing with sizes in my collection view

我的视图顶部有一个 UICollectionView 和一个 ListView,当我单击 ListView 的一个项目时,它会打开一个带有两个(hidden/unhidden) 顶部和底部的条形图以及带轮播的全屏 WebView。 我通常使用点击或滑动,但在我关闭新视图(顶部栏中有一个 X)后,它显示了之前的视图,但 Collection 尺寸突然变小了。 ¿如何防止这种情况?

我环顾四周发现它与 this 是同一个问题,但不同之处在于我的问题不是 NavigationBar,而是 NavigationBar 下方的 Collection。

我已经花了几个小时来解决这个问题,我需要有人为我指明方向。

编辑

编辑-更新

我的第一个视图是 ListView,

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

我在另一个视图中确实有一个观察者,它是我整个应用程序的通用视图,因为它在左侧有菜单并在右侧更改数据:

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

以及选择器方法....

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

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