UIImageView 触控点

Posted

技术标签:

【中文标题】UIImageView 触控点【英文标题】:UIImageView Touch Point 【发布时间】:2013-03-04 21:54:04 【问题描述】:

我有一个包含缩放图像的 UIImageView。图像大小为 3264 x 2448,UIImageView contentMode 设置为 AspectFit。 UIImageView 的大小为 320 x 427。我有以下视图层次结构:

WorkspaceView : UIView
   -> UIImageView (Contains the image)
   -> A UIView which contains a UITapGestureRecognizer

我目前正在尝试从基于 UIImageView 的触摸中获取坐标(它具有很大的 XY 坐标空间 - 2448)。 UIView 基于它自己的视图而不是它的父视图引发触摸。它封装了 UITapGestureRecognizer 以便引发委托调用。

当给定 UIView 内的坐标时,如何获得缩放的 XY 触摸点?我已经尝试了以下代码,但它似乎不起作用:

- (void)lineView:(LineView *)aLineView requestsDistanceForLine:(Line *)line 
   // aLineView is the subview
   // line contains the startpoint and endpoint of the aLineView - it's the model
   // capturedImageView is the local instance of the scaled UIImageView
   CGPoint startPoint =[self convertPoint:[line startPoint] toView:self.capturedImageView];

startPoint 最终变得太小。有什么想法吗?

【问题讨论】:

【参考方案1】:

原来有人已经解决了这个问题。这是它的 github 存储库的链接。

https://github.com/nubbel/UIImageView-GeometryConversion

【讨论】:

以上是关于UIImageView 触控点的主要内容,如果未能解决你的问题,请参考以下文章

android 触摸事件分析

WPF触控程序开发——整理的一些问题

使 UIImageview 根据另一个 UIImageview 旋转而旋转

在 UIScrollView 中放大多个 UIImageView

android想要利用多点触控放大或者缩小一个view该怎么实现

UIImageView 不显示来自 UITableViewController 的设置图像