Pergunta

Qualquer idéia por que isso funciona:

[[[[[self tabBarController] tabBar] items] objectAtIndex:2] 
                                          setBadgeValue:@"Hello"];

Mas isso não?

[[self tabBarItem] setBadgeValue:@"Hello"];

Prefiro não precisar fornecer um índice de barra de guias explícito (2 no código acima). Além disso, existe uma maneira de obter o índice da barra de guias dentro do controlador de exibição no caso em que o primeiro snippet é a única maneira de fazer isso funcionar?

Obrigado.

Foi útil?

Solução

O TabBariTem que você se refere a lá é realmente um item no TabBarViewController? Se não for, então há seu problema. Você pode conhecer o índice do seu ViewController porque especifica o pedido ao definir os controladores de exibição no seu TabBarViewController; portanto, se você definir o ViewController um primeiro no seu TabBarViewController, o botão terá um índice de 0.

Com o seu comentário, sua pergunta fica mais clara para mim, como a resposta afirmou, talvez depois de definir o UITABBARController ViewController, ela agarra seu TabBariTem e as mudanças posteriores para essa propriedade ViewController não são atualizadas pelo TabBarViewController (posso estar errado, isso é um palpite )

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