Uitabbar emblema
-
21-09-2019 - |
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.
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 )