如何在iOS swift中获取点击点(坐标)

Posted

技术标签:

【中文标题】如何在iOS swift中获取点击点(坐标)【英文标题】:how to get tap point (coordinates) in iOS swift 【发布时间】:2015-12-07 09:18:21 【问题描述】:

我正在尝试获取屏幕上触摸的坐标,以显示弹出菜单

如何在页面视图控制器中使用

我在这里做错了什么?

  override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) 
    if let touch = touches.first 
      let position = touch.locationInView(view)
      print(position)
    
  

【问题讨论】:

这段代码运行良好,我在模拟器中用 ios 9.1 sdk 测试过 但这对我不起作用,它有任何 deleget 或其他工作代码 试试这个方法:***.com/a/10556526/2286267 我现在尝试了你的编码。它对我来说很好。你使用的是哪个 xcode?​​span> 还有你用的是哪个iOS版本? 【参考方案1】:

在PageViewController中,如果你想弹出

在 viewDidLoad 中:

let tap = UITapGestureRecognizer(target: self, action: "showMoreActions:")
    tap.numberOfTapsRequired = 1
    view.addGestureRecognizer(tap)

让页面视图控制器继承UIGestureRecognizerDelegate然后添加:

  func showMoreActions(touch: UITapGestureRecognizer) 

        let touchPoint = touch.locationInView(self.view)
        let DynamicView = UIView(frame: CGRectMake(touchPoint.x, touchPoint.y, 100, 100))
        DynamicView.backgroundColor=UIColor.greenColor()
        DynamicView.layer.cornerRadius=25
        DynamicView.layer.borderWidth=2
        self.view.addSubview(DynamicView)


UIPageViewController with TouchEvent

【讨论】:

究竟有什么区别? 我在我的 xcode 中应用了上述编码,它对我来说很好。 我设置了断点,每次触摸视图时它都会调用。 在页面视图控制器中如何实现这段代码 添加到 viewDidLoad :: 不能将视图控制器类型的值分配给“UIGesterRecognizerDelegate”类型的值?【参考方案2】:

斯威夫特 5:

override func viewDidLoad() 
    super.viewDidLoad()
    
    let tap = UITapGestureRecognizer(target: self, action: #selector(touchedScreen(touch:)))
    view.addGestureRecognizer(tap)


@objc func touchedScreen(touch: UITapGestureRecognizer) 
    let touchPoint = touch.location(in: self.view)
    print(touchPoint)

【讨论】:

以上是关于如何在iOS swift中获取点击点(坐标)的主要内容,如果未能解决你的问题,请参考以下文章

Swift 5:如何在点击/触摸坐标时在 GoogleMap 上添加标记?

在arcgis中如何批量提取点的坐标?

IOS swift如何在标签点击时在TableView中获取标签文本

如何在 Google Map iOS Swift 中获取点击位置的 Lat Long

如何忽略缩放图像视图 Swift 3

在ArcGIS中,如何获得指定区域内所有点的经纬度坐标