如何将UIViewController添加为子视图,以便在tabbar上方可见?

时间:2013-11-15 11:00:43

标签: iphone objective-c storyboard uitabbarcontroller addsubview

我想将UIViewController的视图添加为子视图。但是self.view正在使用UITabBarController。我想在tabbar上方显示子视图。这样的标签栏隐藏在子视图后面。 请提出一些建议。

2 个答案:

答案 0 :(得分:2)

试试这个,如果你想隐藏/显示视图的UITabBarController:

隐藏标签栏:

 - (void)hideTabBar:(UITabBarController *) tabbarcontroller
 {
     for(UIView *view in tabbarcontroller.view.subviews)
     {
        if([view isKindOfClass:[UITabBar class]])
       {
           [view setFrame:CGRectMake(view.frame.origin.x, (isiPhone5?568: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, isiPhone5?568: 480)];
        }
     }
  }

for show Tabbar:

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

         for(UIView *view in tabbarcontroller.view.subviews)
         {
            if([view isKindOfClass:[UITabBar class]])
            {
               [view setFrame:CGRectMake(view.frame.origin.x,  (isiPhone5?519: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,  isiPhone5?519:431)];
            }
         }
      }

可能会有所帮助。

答案 1 :(得分:1)

在分配和初始化TabBar的地方,写下这一行

objectOfTabbar.hidden=YES; 

然后将子视图的框架与TabBarController相同。 这样,您的标签栏将被隐藏,并且将显示视图。