ios - Swift - 以编程方式点击屏幕上的点

标签 ios swift webview uitouch

tl;dr- 如何以编程方式在屏幕上的特定点执行 native 触摸?

在 web View 中有包含 iframe 的 HTML,因此 web View 代码和元素不可访问,并且对 JS 的 sanding massages 也是不可能的。在特定坐标的 WebView 中有一个按钮。如何以编程方式按下它?

最佳答案

如果不想在JavaScript层面模拟触摸,可以使用this extensionUITouchUIEvent 上,将它桥接到 Swift 上:

func performTouchInView(view: UIView) {
    let touch = UITouch(inView: view)
    let eventDown = UIEvent(touch: touch)

    touch.view!.touchesBegan(eventDown.allTouches()!, withEvent: eventDown)

    touch.setPhase(.Ended)
    let eventUp = UIEvent(touch: touch)

    touch.view!.touchesEnded(eventUp.allTouches()!, withEvent: eventUp)
}

您的语法可能因您使用的 Swift 版本而异。我在这里进行了一些强制解包,但您应该大致了解正在发生的事情。

关于ios - Swift - 以编程方式点击屏幕上的点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38075699/

相关文章:

ios - UIBezierPath 用不同的笔画画圆

ios - 将指南针指向一个方向

IOS Swift Post 请求返回一些不清楚的内容

android - 网页文本在 webview 上像素化

ios - 应用扩展找不到图像

ios - 有什么方法可以让 iOS 中的触摸保持活力?

53 版而非 54 版的 Android WebView SSL 错误

objective-c - 为什么 webFrameLoadDelegate 协议(protocol)不起作用?

ios - Gps(位置)开启和关闭功能

ios - Swift:在 Safari 中打开 Web View 中的所有外部链接,而不是在 Web View 中