gpt4 book ai didi

ios - 隐藏导航栏和标签栏后 UICollectionView 框架发生变化

转载 作者:可可西里 更新时间:2023-11-01 05:12:36 24 4
gpt4 key购买 nike

我试图保留用作照片库的 Collection Viewframe。但是在 View 中隐藏 UITabBarControllerUINavigationController 之后,它的框架发生了变化。

这是我用来隐藏两者的代码:

- (void)hideTabBar:(UITabBarController *) tabbarcontroller
{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0];


if(IS_IPHONE_5)
{
for(UIView *view in tabbarcontroller.view.subviews)
{
if([view isKindOfClass:[UITabBar class]])
{
[view setFrame:CGRectMake(view.frame.origin.x, 568, view.frame.size.width, view.frame.size.height)];
}
else
{
[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 568)];
}
}

}
else
{
for(UIView *view in tabbarcontroller.view.subviews)
{
if([view isKindOfClass:[UITabBar class]])
{
[view setFrame:CGRectMake(view.frame.origin.x, 480, view.frame.size.width, view.frame.size.height)];
}
else
{
[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 480)];
}
}

}


[UIView commitAnimations];
}

- (void)showTabBar:(UITabBarController *) tabbarcontroller
{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0];

if(IS_IPHONE_5)
{
for(UIView *view in tabbarcontroller.view.subviews)
{
if([view isKindOfClass:[UITabBar class]])
{
[view setFrame:CGRectMake(view.frame.origin.x, 519, view.frame.size.width, view.frame.size.height)];

}
else
{
[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 519)];
}
}

}
else
{
for(UIView *view in tabbarcontroller.view.subviews)
{

if([view isKindOfClass:[UITabBar class]])
{
[view setFrame:CGRectMake(view.frame.origin.x, 431, view.frame.size.width, view.frame.size.height)];

}
else
{
[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 431)];
}
}

}



[UIView commitAnimations];
}

- (void)hideNavBar:(UINavigationController *) navBarController
{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0];

[self.navigationController setNavigationBarHidden:YES];

[UIView commitAnimations];
}

- (void)showNavBar:(UINavigationController *) navBarController
{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0];
[self.navigationController setNavigationBarHidden:NO];

[UIView commitAnimations];
}

这是我的问题的图片:

enter image description here

非常感谢您的帮助

最佳答案

我假设您正在使用 ScrollView 来展示照片。我在你的 View Controller 中遇到了类似的问题和设置self.automaticallyAdjustsScrollViewInsets = NO;应该有帮助。

Default value is YES, which allows the view controller to adjust its scroll view insets in response to the screen areas consumed by the status bar, navigation bar, and toolbar or tab bar. Set to NO if you want to manage scroll view inset adjustments yourself...

关于ios - 隐藏导航栏和标签栏后 UICollectionView 框架发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23131147/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com