单击远离特定标签栏后如何从特定标签栏中删除徽章?

发布于 2024-12-05 12:02:36 字数 404 浏览 0 评论 0原文

我只想在用户单击带有徽章的标签栏后才从选项卡栏中删除徽章。

例如,徽章出现在“新闻”选项卡上,如下所示。

在此处输入图像描述

如果我单击“新闻”选项卡,徽章仍会显示。仅当我单击任何其他选项卡(新闻除外)后,徽章才会消失。

我如何在应用程序委托中实现这一点?

编辑

我尝试通过以下代码设置 UITabbardelegate:

tabController.tabBar.delegate = self;

但我不断收到以下错误:

不允许更改由选项卡栏控制器管理的选项卡栏的委托。

我该如何解决这个问题?

I want to remove the badge from the tab bar only after the user clicks away from the tab bar with the badge

For example, the badge appears on the 'News' tab as shown below.

enter image description here

If I click on the News tab, the badge will still be showing. The badge will only disappear after I click on any other tabs (other than news).

How can I implement this in the app delegate?

EDIT

I tried to set the UITabbardelegate via the following code:

tabController.tabBar.delegate = self;

But I keep getting the following error

Changing the delegate of a tab bar managed by a tab bar controller is not allowed.'

How do I resolve this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

左岸枫 2024-12-12 12:02:36

在您的情况下,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;
    }
}

In your case, the 1 badge is located on the index 3 tab, so you would do:

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

It's up to you to figure out when the user taps on the tab with the badge, you can get that feedback by first assigning a tag to your tabbar items, then use:

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
{ 
    switch (item.tag) 
    {
        case 3: /* News */
            /* Tabbar item #3 was pressed, do something here. */
            break;
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文