Ios 在iPhone上的横向视图中,在UINavigationBar和uitabar全屏之间进行查看
我有一个Ios 在iPhone上的横向视图中,在UINavigationBar和uitabar全屏之间进行查看,ios,uitabbarcontroller,fullscreen,uitabbar,landscape,Ios,Uitabbarcontroller,Fullscreen,Uitabbar,Landscape,我有一个uitabarcontroller包含不同的UINavigationControllers。其中一个UINavigationController的rootViewController在纵向模式下显示UINavigationBar和uitabar之间的图表(使用ShinobiCharts)。当转到横向时,我想隐藏UINavigationBar和uitabar并全屏显示我的图表。导航栏没有问题,我不知道如何为选项卡栏设置。我可以隐藏它,但是隐藏后调整图表的大小并不能使它像我希望的那样大 这似
uitabarcontroller
包含不同的UINavigationControllers
。其中一个UINavigationController
的rootViewController
在纵向模式下显示UINavigationBar
和uitabar
之间的图表(使用ShinobiCharts
)。当转到横向时,我想隐藏UINavigationBar
和uitabar
并全屏显示我的图表。导航栏没有问题,我不知道如何为选项卡栏设置。我可以隐藏它,但是隐藏后调整图表的大小并不能使它像我希望的那样大
这似乎是一个非常直接的需求,我打赌有一个相当简单的解决方案,不是吗?看看
实际上,您可以更改选项卡栏视图的大小,使选项卡栏位于窗口边界之外
- (void)hideTabBar:(UITabBarController *) tabbarcontroller
{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.3];
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.3];
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];
}
这里的问题是,简单地隐藏选项卡栏
并不是一个解决方案,因为嵌套的子视图
不会调整大小
当我想隐藏选项卡栏
并调整其子视图
的大小时,我使用上述代码。在按下viewController
(带图表)之前,您必须隐藏/显示帧