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