如何通过单击查看来调用函数[重复]
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
)
【讨论】:
以上是关于如何通过单击查看来调用函数[重复]的主要内容,如果未能解决你的问题,请参考以下文章