加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ios – 控制器中的Carousel在我的集合视图中弄乱了大小

发布时间:2020-12-14 19:05:13 所属栏目:百科 来源:网络整理
导读:我在我的视图顶部有一个UICollectionView,还有一个ListView,当我点击ListView的一个项目时,它打开一个新的控制器,顶部和底部有两个(隐藏/未隐藏)栏,全屏带有Carousel的WebView. 我正常使用水龙头或滑动,但在关闭我的新视图后(我在顶部栏中有一个X)它会显示上
我在我的视图顶部有一个UICollectionView,还有一个ListView,当我点击ListView的一个项目时,它打开一个新的控制器,顶部和底部有两个(隐藏/未隐藏)栏,全屏带有Carousel的WebView.
我正常使用水龙头或滑动,但在关闭我的新视图后(我在顶部栏中有一个X)它会显示上一个视图但突然收集大小的高度较小. ?我该如何防止这种情况?

我一直在环顾四周,这是像this一样的问题,但我的问题不在于NavigationBar的区别在于NavigationBar下面的Collection.

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

编辑

enter image description here

enter image description here

enter image description here

编辑 – 更新

我在我的第一个视图中有一个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;
        }];

解决方法

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读