在显示 contextMenu 时做一些事情

Posted

技术标签:

【中文标题】在显示 contextMenu 时做一些事情【英文标题】:Do something when contextMenu is showed 【发布时间】:2019-12-22 18:34:53 【问题描述】:

在我正在做的应用程序中,我展示了一个正在运行的计时器,这样您就可以知道您使用该应用程序的时间。但是我想在用户进入 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")
                    

感谢您能给我的任何帮助

【问题讨论】:

【参考方案1】:

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

  .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: )

【讨论】:

以上是关于在显示 contextMenu 时做一些事情的主要内容,如果未能解决你的问题,请参考以下文章

contextmenu 每次都可以调用 onAppear 吗?

如何在退出 Qt 应用程序时做一些事情

当音源播放 2 分钟时做一些事情

按下 UITableViewCell 时做一些事情

javascript 初始加载时做一些事情

当所有 alamofire 请求完成时做一些事情