0

我的应用程序中的 ViewController 很少,它们都有菜单按钮。当这个按钮被按下 - 菜单 ViewController 被打开。

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

由于我所有的按钮都是相互独立的 - 我认为我需要以这种方式解决它

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

但也许有一些更优雅的方式?

4

1 回答 1

1

当有新内容可用时,使用 NotificationCenter 通知 ui

在菜单视图控制器类中:

//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
}

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

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

希望它会帮助你

于 2017-03-09T11:52:07.320 回答