如何通过单击查看来调用函数[重复]

Posted

技术标签:

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

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

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

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

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

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

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

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

【问题讨论】:

【参考方案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 
  )

【讨论】:

以上是关于如何通过单击查看来调用函数[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何通过调用类中的函数来创建线程? [重复]

如何调用析构函数[重复]

JS中如何在函数内部访问调用本函数的元素

首次单击后,Javascript,CSS,按钮不调用动画函数[重复]

防止直接访问由ajax函数调用的文件[重复]

通过记录函数调用和参数进行实时javascript调试[重复]