私はUITabbarCoo = ntrollerアプリケーションを持っています。私はオブザーバーを追加し、通知を待っています。私はタブバーの項目に触れたときに通知を受け取っていませんでした。タブバーのアイテムに触れたときに通知が届かない
[self.tabBarController addObserver:self forKeyPath:@"selectedIndex" options:NSKeyValueObservingOptionNew context:@"changedTabbarIndex"];
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
NSString *action = (NSString*)context;
if([action isEqualToString:@"changedTabbarIndex"])
{
}
}
これはあなたの質問に直接答えませんが、UITabBarControllerのデリゲートとして自分自身を宣言し、選択したビューコントローラの変更に応答するために "tabBarController:didSelectViewController:"を実装できない理由がありますか? – nickbona
まあ、1つは、あなたのコードがプログラムによってタブバーの内容を変更したときに呼び出されないということです。それを別々に処理する必要がないのが便利でしょう。 –