Как убрать значок с определенной панели вкладок после нажатия на нее? - PullRequest
2 голосов
/ 19 сентября 2011

Я хочу удалить значок из панели вкладок только после того, как пользователь отойдет от панели вкладок со значком

Например, значок появляется на вкладке «Новости», как показано ниже.

enter image description here

Если я нажму на вкладку Новости, значок все равно будет отображаться. Значок исчезнет только после того, как я нажму на другие вкладки (кроме новостей).

Как я могу реализовать это в делегате приложения?

EDIT

Я попытался установить UITabbardelegate с помощью следующего кода:

tabController.tabBar.delegate = self;

Но я продолжаю получать следующую ошибку

Изменение делегата панели вкладок, управляемого контроллером панели вкладок, не допускается. '

Как мне решить эту проблему?

1 Ответ

10 голосов
/ 19 сентября 2011

В вашем случае значок 1 находится на вкладке index 3, поэтому вы должны сделать:

[[tabBar.items objectAtIndex:3] setBadgeValue:nil];

Вам решать, когда пользователь нажимаетна вкладке со значком вы можете получить этот отзыв, сначала назначив tag элементам панели вкладок, а затем используйте:

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
{ 
    switch (item.tag) 
    {
        case 3: /* News */
            /* Tabbar item #3 was pressed, do something here. */
            break;
    }
}
...