質問

なぜこれが機能するのか:

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

しかし、これはしませんか?

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

明示的なタブバーインデックスを提供する必要はありません(上記のコードで2)。また、最初のスニペットがこの作業を行う唯一の方法である場合、ビューコントローラー内からタブバーインデックスを取得する方法はありますか?

ありがとう。

役に立ちましたか?

解決

そこに言及するTabbaritemは、実際にTabbarviewControllerのアイテムを持っていますか?そうでない場合は、問題があります。 TabbarViewControllerでView Controllersを設定したときに注文を指定するため、ViewControllerのインデックスを知ることができます。したがって、TabbarViewControllerで最初にViewControllerを設定すると、ボタンのインデックスは0になります。

あなたのコメントであなたの質問が私にとってより明確になります。返信が述べたように、おそらくUitabbarController ViewControllerを設定した後、それはそのタブバリテムをつかみ、そのViewControllerプロパティの変更はTabbarviewControllerによって更新されません(私は間違っているかもしれません。 ))

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top