#ios #uitabbarcontroller #badge
#iOS #uitabbarcontroller #значок
Вопрос:
У меня есть вкладка в моем приложении, на которой будет указан номер значка, основанный на 3 различных действиях, которые происходят в 3 разных времени. Я знаю, как установить значок панели вкладок с помощью:
[[[[[self tabBarController] tabBar] items]
objectAtIndex:3] setBadgeValue:[NSString stringWithFormat:@"%d", (int)thetabbadge]];
Что я хотел бы сделать, так это взять текущий номер значка (0 для ничего или любое другое число, которое там уже может быть) и увеличить его на другой NSInteger. Есть ли способ прочитать текущее свойство номера значка?
Ответ №1:
Вы могли бы использовать свойство badgeValue
Ваш код выглядит так, как будто он был сделан пять лет назад, пунктирная нотация намного легче читается. Также вы должны стараться не делать слишком много в одной строке.
UITabBarItem *itemToBadge = self.tabBarController.tabBar.items[3];
int currentTabValue = [itemToBadge.badgeValue intValue];
int newTabValue = currentTabValue 1; // Or whatever you want to calculate
itemToBadge.badgeValue = [NSString stringWithFormat:@"%d", newTabValue];