【发布时间】:2018-01-28 13:29:26
【问题描述】:
UIImage 将在运行时添加到UIImageView,我想确定用户点击图像的位置。
有什么方法可以确定点击图像的像素 (x,y) 是多少?
考试:
如果我有apple.png x:1000, y:1000 的图像大小并且我点击它的正中心,它应该返回x: 500, y: 500
我需要在真实图像上点击点像素 (UIImageView.image) 而不是 UIImageView
【问题讨论】:
-
你在使用
.scaleAspectFit吗?如果是这样,您需要具备三样东西:(1) 点击的point 位置,(2) 显示图像的实际CGRect- 注意,not图像视图的CGRect,最后是(3)在两者之间转换的计算/公式。我有一个UIImage扩展名,应该可以帮助你解决第二个问题。它返回图像视图渲染图像的“比例因子”,无论它是向上还是向下调整大小。我只是不确定它是否会与其他.contentModes正常运行。 -
是的@dfd,我使用
scaleAspectFit。我已经有了点击位置的点,但它基于屏幕的 x,y。 -
再想一想,我最多只能让你走到一半。我的扩展程序将为您提供图像的 缩放点 位置,但我认为您想要一些不同的东西。为此,我相信您需要研究
CGImage或 Core Graphics。快速搜索产生了一个受保护的问题(从 2009 年开始,在 Obj-C 中),这可能会给你一个开始:stackoverflow.com/questions/448125/…