Como ocultar o botão da barra de guias personalizadas quando ocultaBottomBarWhenPushed é “VERDADEIRO”

Estou usando o snippet de código do Tito para adicionar um botão personalizado à minha barra de guias:https://github.com/tciuro/CustomTabBar

(Subclassificando o UITabbarController e adicionando um botão personalizado usando

// .. created a UIButton *button
[self.view addSubview:button];

)

Isso funciona muito bem com meu aplicativo baseado em storyboard, exceto no caso de uma subvisualização em um controlador de navegação com a opção "Ocultar barra inferior ao pressionar" ativada. Isso oculta a barra de guias conforme prometido, mas não o botão personalizado. Parece que o botão deve ser adicionado como uma subvisualização à própria barra de abas? Eu tentei esse código feio que nem sequer fez o botão aparecer:

for(UIView *view in self.view.subviews)
{
    if([view isKindOfClass:[UITabBar class]])
    {
        [view addSubview:button];
        break;
    }
}

Alguma ideia?

ATUALIZAR: Minha solução: No meu ApplicationDelegate eu defino os seguintes métodos, que eu chamo sempre que necessário nos métodos viewWillAppear ou viewWillDisappear:

-(void)hideCenterButton:(BOOL)animated
{
    if(animated){

    [UIView animateWithDuration:0.3
                          delay:0.0f
                        options:UIViewAnimationCurveLinear
                     animations:^{
                         CGRect frame = self.centerButton.frame;
                         frame.origin.x = -100;
                         self.centerButton.frame = frame;
                     }
                     completion:^(BOOL finished){
                     }];
    }
}

-(void)showCenterButton:(BOOL)animated
{
    if(animated){

    [UIView animateWithDuration:0.35
                          delay:0.0f
                        options:UIViewAnimationCurveLinear
                     animations:^{
                         CGRect frame = self.centerButton.frame;
                         frame.origin.x = (self.view.superview.frame.size.width / 2) - (self.centerButton.frame.size.width / 2);
                         self.centerButton.frame = frame;
                     }
                     completion:^(BOOL finished){
                     }];
    }
}

Eu tive que definir a duração da animação para 0.35s para obter um efeito suave em harmonia com a barra de abas.

questionAnswers(4)

yourAnswerToTheQuestion