2009-08-27 37 views

回答

-1

尝试隐藏它,所以你告诉它隐藏,它隐藏,但然后你告诉它不要隐藏它(我不知道它是否显示它,如果你设置为否),但它看起来像它不是,无论是或者你告诉它不隐藏,当你想要的视图控制器已经被推动,它不会隐藏栏,直到下一个视图控制器已被推动,所以你应该尝试设置为未隐藏你自己。

3

你可以尝试继承UIViewController并覆盖

- (void)viewWillAppear:(BOOL)animated { self.hidesBottomBarWhenPushed = YES; } 
- (void)viewWillDisappear:(BOOL)animated { self.hidesBottomBarWhenPushed = NO; } 

,然后使用该子类作为要显示底栏视图控制器的超类。

+0

我有这样的排序工作。当视图重新出现时,动画是错误的。 返回时,视图将不会受到尊重,所以我不得不跳过一堆箍来恢复工作。 – 2009-08-27 14:15:06

2

这为我工作:

- (void)viewWillAppear:(BOOL)animated { self.tabBarController.tabBar.hidden = YES; } 
- (void)viewWillDisappear:(BOOL)animated { self.tabBarController.tabBar.hidden = NO; } 
1

尝试以下解决方法:如果你不动画视图控制器之间的切换它应该工作正常。

的想法是让你的TabBar控制器的视图尺寸更大,所以的TabBar(这是在视图的底部)熄灭屏幕和隐藏视图时恢复视图大小。

在应隐藏标签栏定义了以下方法您的视图控制器:

-(void)viewWillAppear:(BOOL)animated{ 
    [super viewWillAppear:animated]; 

    CGRect r = self.tabBarController.view.frame; 
    r.size.height +=self.tabBarController.tabbar.frame.size.height; 
    self.tabBarController.view.frame = r; 
} 

-(void)viewWillDisappear:(BOOL)animated{ 
    [super viewWillDisappear:animated]; 
    self.tabBarController.view.frame = CGRectMake(0, 0, 320, 480); //for iPhone portrait 
} 

你需要确保你的应用程序委托的TabBar CONTROLER和窗口网点的定义,并用XIB1

正确链接
@property (nonatomic, retain) IBOutlet UIWindow *window; 
@property (nonatomic, retain) IBOutlet UITabBarController *tabBarController; 
相关问题