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