Pergunta

Eu estou tentando acessar a instância _tabBar de um UITabBarController. Eu estou tentando esconder a barra de páginas em determinadas situações, por isso, eu adicionei uma extensão para UITabBarController, onde eu possa acessar a instância _tabBar, e chamar a mensagem setHidden. Isso funciona quando compilar para o simulador, mas quando eu compilar para o dispositivo, eu recebo o seguinte erro

"_ OBJC_IVAR _ $ _ UITabBarController._tabBar", referenciado a partir de: _OBJC_IVAR _ $ _ UITabBarController._tabBar $ non_lazy_ptr em UITabBarController + TabBar.o

O que eu preciso para adicionar aos meus bandeiras do compilador? e por que ele funciona quando compilar para o simulador.

Agradecemos antecipadamente.

Foi útil?

Solução 2

É acessível desde iPhone OS 3.0

Outras dicas

De acordo com a documentação para UITabBarController:

Você nunca deve tentar manipular o objeto UITabBar-se armazenado em está Propriedade. Se você tentar fazer assim, a vista de barra de guia lança uma exceção. Para configurar os itens para sua interface de barra de abas, que deveria uma vez atribuir ou mais exibição personalizada controladores para os viewControllers propriedade. A barra de guia recolhe os itens da barra de guia necessária a partir da vista controladores que você especificar.

A visão bar guia fornecida por esta propriedade é apenas para situações onde você deseja exibir uma folha de ação usando o showFromTabBar: método de a classe UIActionSheet.

Se você está empurrando o seu UITabBarController em uma pilha controlador de navegação você pode definir a propriedade hidesBottomBarWhenPushed para SIM, e que o trabalho vontade.

Há também poderia ser outra API na superclasse de UITabBarController que vai fazer isso. Se não você poderia andar através da hierarquia subexibição e esconder o necessário.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top