在iOS开发中,UITabBarItem
是用于在底部导航栏显示每个标签项的类。如果你想在某个 UITabBarItem
上添加一个小红点(通常用来表示未读消息数),可以通过以下几种方法实现:
UITabBarItem
的 badgeValue
属性UITabBarItem
提供了一个 badgeValue
属性,可以直接设置显示在标签项上的徽章文本。
// Swift 示例
tabBarController?.tabBar.items?[0].badgeValue = "99+"
// Objective-C 示例
tabBarController.tabBar.items[0].badgeValue = @"99+";
UITabBarItem
的视图如果你需要更复杂的自定义,比如一个小红点而不是文本,你可以创建一个自定义的视图并添加到 UITabBarItem
上。
// Swift 示例
if let tabBarItem = tabBarController?.tabBar.items?[0] {
let customView = UIView(frame: CGRect(x: 0, y: 0, width: 8, height: 8))
customView.backgroundColor = .red
customView.layer.cornerRadius = customView.frame.size.width / 2
customView.clipsToBounds = true
tabBarItem.setValue(customView, forKey: "_customView")
}
// Objective-C 示例
UITabBarItem *tabBarItem = [tabBarController.tabBar.items objectAtIndex:0];
UIView *customView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 8, 8)];
customView.backgroundColor = [UIColor redColor];
customView.layer.cornerRadius = customView.frame.size.width / 2;
customView.clipsToBounds = YES;
[tabBarItem setValue:customView forKey:@"_customView"];
customView
的 frame 来调整位置。cornerRadius
来保持圆形。badgeValue
或重新设置 customView
。通过以上方法,你可以在 UITabBarItem
中添加一个小红点来提示用户未读消息或其他重要信息。
领取专属 10元无门槛券
手把手带您无忧上云