0

当您有“新活动”或“新消息”时,许多应用程序都有一种视觉指示器。我不是在谈论推送通知(尽管它们看起来很相似)。为了更好地说明这一点,如果您使用 FB 应用程序,地球图标(通知)会显示一个带有数字的红色圆圈,该数字表示自上次访问以来您可能收到了多少新消息。

我想知道如何做到这一点,因为我唯一能想到的就是在图标上放置一个图像视图或文本字段,该图标将显示一个代表用户可能拥有的新消息数量的数字。

4

1 回答 1

1

您必须使用一些技巧来实现这一点,因为 iOS 中的徽章本身只能添加到标签栏项目。有一个名为 MKNumberBadgeView 的自定义类,它允许您将其添加到导航栏。

您可以通过以下方式执行此操作:

MKNumberBadgeView *badge=[[MKNumberBadgeView alloc]initWithFrame:CGRectMake(92, 0, 40, 40)];
badge.value=6;
[self.navigationController.navigationBar addSubview:badge];

几点:您将不得不在导航栏上放置徽章,因此请调整您的 cgrectmake。

我建议将徽章设为属性,因为最终您会希望将其从视图中删除。在这种情况下,您将调用 self.badge removeFromSuperview。

这个类使用核心图形来绘制徽章,看起来非常漂亮。

你可以在这里找到更多关于它的信息:

https://www.cocoacontrols.com/controls/mknumberbadgeview

于 2013-06-05T00:42:33.833 回答