UITabBarController 自定义按钮在移动到下一个时不隐藏 ViewController

UITabBarController Custom Button not hiding while moving to next ViewController

我在UITabBarViewController中添加了自定义中心按钮,代码如下...

self.centerButton = [UIButton buttonWithType:UIButtonTypeCustom];
self.centerButton.autoresizingMask = UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleTopMargin;
self.centerButton.frame = CGRectMake(0.0, 0.0, buttonImage.size.width, buttonImage.size.height);
[self.centerButton setBackgroundImage:buttonImage forState:UIControlStateNormal];
[self.centerButton setBackgroundImage:highlightImage forState:UIControlStateHighlighted];

CGFloat heightDifference = buttonImage.size.height - self.tabBar.frame.size.height;
  if (heightDifference < 0) {
        self.centerButton.center = self.tabBar.center;
  } else {
        CGPoint center = self.tabBar.center;
        center.y = center.y - heightDifference/2.0;
        self.centerButton.center = center;
  }

[self.centerButton addTarget:target action:action forControlEvents:UIControlEventTouchUpInside];

[self.view addSubview:self.centerButton];

请查看附件截图以供参考,

现在,当我在移动到其他 viewcontroller 时试图隐藏它时,只有标签栏被隐藏,而不是带有以下代码的中心自定义按钮,

[self.tabBarController.tabBar setHidden:YES];

也试过这样隐藏中心自定义按钮,

 WBTabBarController *objWBTab = [self.storyboard instantiateViewControllerWithIdentifier:ID_CNTRL_TABBAR];
 [objWBTab setTabBarHidden:YES];

SetTabBarHidden 已在 WBTabBarController.m,

中定义如下
- (void)setTabBarHidden:(BOOL)tabBarHidden
{
    self.centerButton.hidden = tabBarHidden;
    self.tabBar.hidden = tabBarHidden;
}

仍然没有运气,有人可以帮助我吗?

正在尝试检查 隐藏底栏 以在故事板上打开您的 ViewController

或者您也可以以编程方式使用它

      self.hidesBottomBarWhenPushed = true
      let destinationVC = self.storyboard?.instantiateViewControllerWithIdentifier("StoryBoardID") as! yourVC
      self.navigationController?.pushViewController(destinationVC, animated: true)
      self.hidesBottomBarWhenPushed = false

这是因为您将按钮作为子视图添加到整个视图而不是 tabBar 的视图。

[self.view addSubview:self.centerButton]; 行更改为
[self.tabBar addSubview:self.centerButton];

让我们尝试在视图消失时隐藏它

-(void) viewWillDisappear:(BOOL)animated{
     [self setTabBarHidden:YES];
     [super viewWillDisappear:animated];
}

并在视图出现时显示它

-(void) viewWillAppear:(BOOL)animated{
     [self setTabBarHidden:NO];
     [super viewWillAppear];
}