有新项目时标记移动应用程序菜单按钮

Mark mobile app menu button when there are new items

我的应用程序中有几个 ViewController,而且它们都有菜单按钮。按下此按钮时 - 打开菜单 ViewController。

我想用红点标记菜单按钮,表示有一些新内容可用,用户需要按菜单按钮才能看到哪个菜单项标有这个点。

因为我所有的按钮都是相互独立的 - 我认为我需要这样解决它

  1. 在每个菜单按钮上添加红点图像
  2. 默认隐藏此点
  3. 当每个 ViewController 打开时 - 我应该检查 - 是否有可用的新项目并将此红点图像的 isHidden 属性 切换为 false。

但也许有更优雅的方式?

使用 NotificationCenter 在新内容可用时通知 ui

在菜单中 viewcontroller class:

//put this in viewDidLoad
NotificationCenter.default.addObserver(self.selector : #selector(menuviewcontroller.refresh(_:)),name:NSNotification.Name(rawValue:"showRedBtn"),object : nill)


//create function refresh
func refresh(_ notification : Notification)
{
   //make the red dot visible
}

创建 class 侦听是否添加了任何内容,并在通过这行代码添加的情况下调用委托

NotificationCenter.default.post(name : Notification.Name("showRedBtn"),object : nil , userInfo : nil)

希望对您有所帮助