当您有“新活动”或“新消息”时,许多应用程序都有一种视觉指示器。我不是在谈论推送通知(尽管它们看起来很相似)。为了更好地说明这一点,如果您使用 FB 应用程序,地球图标(通知)会显示一个带有数字的红色圆圈,该数字表示自上次访问以来您可能收到了多少新消息。
我想知道如何做到这一点,因为我唯一能想到的就是在图标上放置一个图像视图或文本字段,该图标将显示一个代表用户可能拥有的新消息数量的数字。
当您有“新活动”或“新消息”时,许多应用程序都有一种视觉指示器。我不是在谈论推送通知(尽管它们看起来很相似)。为了更好地说明这一点,如果您使用 FB 应用程序,地球图标(通知)会显示一个带有数字的红色圆圈,该数字表示自上次访问以来您可能收到了多少新消息。
我想知道如何做到这一点,因为我唯一能想到的就是在图标上放置一个图像视图或文本字段,该图标将显示一个代表用户可能拥有的新消息数量的数字。
您必须使用一些技巧来实现这一点,因为 iOS 中的徽章本身只能添加到标签栏项目。有一个名为 MKNumberBadgeView 的自定义类,它允许您将其添加到导航栏。
您可以通过以下方式执行此操作:
MKNumberBadgeView *badge=[[MKNumberBadgeView alloc]initWithFrame:CGRectMake(92, 0, 40, 40)];
badge.value=6;
[self.navigationController.navigationBar addSubview:badge];
几点:您将不得不在导航栏上放置徽章,因此请调整您的 cgrectmake。
我建议将徽章设为属性,因为最终您会希望将其从视图中删除。在这种情况下,您将调用 self.badge removeFromSuperview。
这个类使用核心图形来绘制徽章,看起来非常漂亮。
你可以在这里找到更多关于它的信息: