【iOS学习笔记】获取点击屏幕坐标

  1. //当有一个或多个手指触摸事件在当前视图或window窗体中响应  
  2. -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event  
  3. {  
  4.     NSSet *allTouches = [event allTouches];    //返回与当前接收者有关的所有的触摸对象  
  5.     UITouch *touch = [allTouches anyObject];   //视图中的所有对象  
  6.     CGPoint point = [touch locationInView:[touch view]]; //返回触摸点在视图中的当前坐标  
  7.     int x = point.x;  
  8.     int y = point.y;  
  9.     NSLog(@"touch (x, y) is (%d, %d)", x, y);  
  10. }  
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
iOS charts中,可以通过以下方式获取每个点的坐标: 1. 首先,需要获取到当前显示的图表对象,比如柱状图、折线图、散点图等等。 2. 接着,可以通过图表对象的`data`属性获取到当前显示的数据集合,比如某个柱状图的数据集合。 3. 对于每个数据点,可以使用`chartView.getTransformer(forAxis: .left)`和`chartView.getTransformer(forAxis: .bottom)`方法获取到左侧和底部坐标轴的`Transformer`对象。 4. 通过`Transformer`对象的`pixelForValues(x: Double, y: Double)`方法获取到数据点对应的像素坐标。 5. 最后,可以通过像素坐标计算出点的实际坐标值。 下面是一个示例代码片段,用于获取某个柱状图上所有数据点的实际坐标值: ```swift let chartView = BarChartView(frame: CGRect(x: 0, y: 0, width: 200, height: 200)) // 获取当前显示的数据集合 guard let data = chartView.data else { return } // 获取左侧和底部坐标轴的 Transformer 对象 let leftTransformer = chartView.getTransformer(forAxis: .left) let bottomTransformer = chartView.getTransformer(forAxis: .bottom) // 遍历数据集合中的所有数据点 for i in 0 ..< data.entryCount { // 获取数据点对应的像素坐标 let x = data.entryForIndex(i)?.x ?? 0 let y = data.entryForIndex(i)?.y ?? 0 let pixelPoint = CGPoint(x: CGFloat(x), y: CGFloat(y)) // 计算出点的实际坐标值 let realPoint = CGPoint(x: bottomTransformer.valueForTouchPoint(point: pixelPoint).x, y: leftTransformer.valueForTouchPoint(point: pixelPoint).y) print("Point \(i): \(realPoint)") } ``` 以上代码中,`BarChartView`是某个柱状图的实例,通过遍历数据集合中的所有数据点,使用`getTransformer(forAxis:)`方法获取左侧和底部坐标轴的`Transformer`对象,然后通过`valueForTouchPoint(point:)`方法计算出实际坐标值,并打印出来。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值