【问题标题】:How to call function by clicking on View [duplicate]如何通过单击查看来调用函数[重复]
【发布时间】:2021-03-23 16:15:50
【问题描述】:

我目前正在构建一个具有一系列视图的应用。当用户点击其中一个视图时,我希望它通过函数执行操作。

如何让这个视图完成一个功能?

我不能为它创建一个出口,在那里我可以像使用按钮一样调用主体内部的函数。

我对 Swift 很陌生,所以我可能会遗漏一些东西,但似乎没有任何明显的东西,我有一个谷歌并阅读过。

为了证明我的观点,下图是给定的视图。

当用户点击这个视图时,我希望他们被带到一个他们可以发送消息的 URL。

我想我已经掌握了 URL 部分,我只需要能够在该视图被按下时调用有问题的函数。

【问题讨论】:

    标签: swift


    【解决方案1】:

    您可以将点击手势添加到视图中。使用手势识别器,您可以轻松完成这项工作。有关点击手势的详细信息,您可以访问以下链接 - https://developer.apple.com/documentation/uikit/touches_presses_and_gestures/handling_uikit_gestures/handling_tap_gestures

    【讨论】:

      【解决方案2】:

      您可以将手势附加到视图。有一个onTapGesture

          Text("Tappable Text View")
              .onTapGesture { functionToCall() }
      

      还有另一种方法:

          Text("Tappable Text View")
              .gesture(TapGesture().onEnded { _ in
                  functionToCall()
                  }
              )
      

      第二种方法允许您指定修饰符,这对 iOS 来说不是问题,但如果您想要支持 Mac 用户期望的东西,则 macOS 需要这些修饰符。例如,选项点击:

          Text("Tappable Text View")
              .gesture(TapGesture().modifiers([.option]).onEnded
                  { _ in
                      functionToCall()
                  }
              )
      

      【讨论】:

        【解决方案3】:

        如果您使用的是 swiftui,则可以使用 onTapGesture,但这已经被告知。制作按钮是另一种方式。

        Button(action{//call your url here
          },Label{
           //build your button ui here 
          })
        

        【讨论】:

          猜你喜欢
          • 2019-04-27
          • 1970-01-01
          • 2021-01-25
          • 2022-01-20
          • 1970-01-01
          • 2014-06-10
          • 2016-10-14
          • 2017-10-01
          • 2015-03-25
          相关资源
          最近更新 更多