首页 > 解决方案 > 在显示 contextMenu 时做一些事情

问题描述

在我正在做的应用程序中,我展示了一个正在运行的计时器,这样您就可以知道您使用该应用程序的时间。但是当用户进入 contextMenu 时,我想停止计时。我不知道该怎么做!我需要类似的东西:

.contextMenu {
                    //chrono.stop <-- My wish :)
                    Button(action: {
                      self.addOcurrencia(a: tarea)
                    }) {
                      Text("Add".localized)
                      Image(systemName: "clock")
                    }

                    Button(action: {
                      tarea.tiempoAcumulado = Tarea.origenTiempo
                    }) {
                      Text("Reset".localized)
                      Image(systemName: "clear")
                    }

我很感激你能给我的任何帮助

标签: ioslistviewcontextmenuswiftui

解决方案


一种简单的方法是onLongPressGesture在 contextMenu 之后添加一个:

  .contextMenu{
                                //chrono.stop <-- My wish :)

                                Button(action: {

                                }) {

                                  Image(systemName: "clock")
                                }

                                Button(action: {

                                }) {

                                  Image(systemName: "clear")
                                }
                   }
                 .onLongPressGesture( pressing: { (press) in
                       print(press)
                    // if press == false  {chrono.stop} <-- My wish :)
                 }, perform: {})

推荐阅读