许多应用程序都有一种视觉指示器,可显示您何时有“新活动”或“新消息”。我不是在谈论推送通知(尽管它们看起来很相似)。为了更好地说明这一点,如果您使用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。

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

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

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

07-28 03:56