import UIKit
class MapController: UIViewController {
lazy var mapView: MapView = {
let mapV = MapView()
mapV.frame = CGRect(x: 0, y: 0, width: kScreenWidth, height: kScreenHeight - kNavigationBarHeight() - 44)
return mapV
}()
override func viewDidLoad() {
super.viewDidLoad()
self.view.addSubview(mapView)
// 添加Pan手势识别器到需要监听手指移动的视图上
let panGestureRecognizer = UIPanGestureRecognizer(target: self, action: #selector(handlePanGesture(_:)))
mapView.addGestureRecognizer(panGestureRecognizer)
}
@objc func handlePanGesture(_ gestureRecognizer: UIPanGestureRecognizer) {
switch gestureRecognizer.state {
case .began:
break
case .changed:
//获取手指在地图view上触摸点的x和y
let locationInView = gestureRecognizer.location(in: mapView)
//将地图上x和y转换到自身view的坐标系
let touchPoint = mapView.convert(locationInView, to: self.coordinateSpace)
/**
这个地方我需要做一个触摸跟随的动画,必须让触摸点的图片紧紧跟随在我手指下,所以必须转成精准的坐标系
*/
// 在这里你可以处理手指移动的点
let touchCoord = mapView.convert(touchPoint, toCoordinateFrom: mapView)
print("手指活动:\(touchCoord.latitude)---\(touchCoord.longitude)")
break
case .ended:
// 重置translation,以便下一次移动计算
gestureRecognizer.setTranslation(.zero, in: mapView)
break
default:
break
}
}
}
iOS开发触摸点转换坐标系(swift)
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 前言 本来是内部做分享交流Core Text,懒得做PPT,坐标系转换这块单独写篇文章倒省事😆 正文 上篇文章从零...
- 前言 本来不想做笔记记录,后来想想坐标系转换这块单独还是要写一下,方便初步理解YYText整体构建过程。 正文 C...