gpt4 book ai didi

ios - 标签栏项目的重新加载角标(Badge)

转载 作者:行者123 更新时间:2023-11-29 13:13:02 25 4
gpt4 key购买 nike

我有一个带有标签栏 Controller 的应用程序。这些 View 之一是 TableView 。有一种方法可以在标签栏中设置此 View 的角标(Badge)。这有效......但只有当用户触摸此 View 而不是正确启动应用程序时。所以我尝试在 appDelegate 中使用此方法...但这不起作用。我在 View 中的方法:

    @property (strong) NSMutableArray *cars;
//some code here

-(void)SelectBadge
{
int r = [_cars count];
if (r == 0) {
self.navigationController.tabBarItem.badgeValue = 0;
}
else {
self.navigationController.tabBarItem.badgeValue = [NSString stringWithFormat:@"%d", r];
}
[self.tableView reloadData];
}

我试图将此方法放入我的 appDelegate 文件中:

- (void)applicationDidBecomeActive:(UIApplication *)application
{
CarList *Instance = [[CarList alloc] init];
[Instance SelectBadge];
}

预先感谢您的所有回答。

最佳答案

我的看法是,您正在此 - (void)applicationDidBecomeActive:(UIApplication *)application 方法中创建 CarList 的新实例。 因此,在 selectBadge 函数中,self.navigationController .tabBarItem.badgeValue = someValue; 将为其他一些实例设置角标(Badge)值。

尝试解决正确的实例。如果您可以访问 UITabBarController 实例,那么您可以这样做:

UITabBar     *tabBar = mTabBarController.tabBar;
UITabBarItem *someItem = [tabBar.items objectAtIndex:0];////You can put your interested tabBarItem index
someItem. badgeValue = @"100";

关于ios - 标签栏项目的重新加载角标(Badge),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16711289/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com