0

目前我有一个设置,firstTabViewController 托管 5 个按钮,每个按钮加载一个表格视图。当用户选择其中一个表格单元格时,它会打开一个带有一组 4 个不同选项卡按钮的 secondTabViewController。我还嵌入了一个导航控制器。

我已经通过情节提要进行了设置,并提出了一些问题。首先,当它加载 secondTabViewController 时,它会将其加载到 firstTabViewController 中,因此我有 2 组选项卡按钮在彼此之上。如果我将 segue 更改为模态,它会正确加载 secondTabViewController,但不允许我使用导航控制器返回。

是否有解决方案,或者我是否应该停止浪费时间使用故事板,而只是以编程方式进行设置?

截图:故事板

4

2 回答 2

0

当我想隐藏标签栏时,我使用此代码:我忘记了我从哪里偷来的,但我很确定它在 SO 上。

- (void) hideTabBar:(UITabBarController *) tabbarcontroller {


[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];
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.5];
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]; 
}
于 2012-07-17T16:09:20.293 回答
0

使用您的原始策略,然后在打开第二个选项卡栏视图时隐藏第一个选项卡视图控制器的选项卡栏。

于 2012-07-17T16:17:57.530 回答