在 UIView 中查找特定点

Posted

技术标签:

【中文标题】在 UIView 中查找特定点【英文标题】:Finding specific points in UIView 【发布时间】:2011-02-08 13:41:39 【问题描述】:

嘿。我正在构建一个 iPad 应用程序,我需要在地图 (UIImageView) 顶部标记特定点。我有以英寸为单位的坐标,但我无法将基于英寸的坐标映射到 ios 点,我已经用谷歌搜索了几个小时,但没有任何结论。

有什么想法吗?

谢谢。

【问题讨论】:

【参考方案1】:

所以你有实际的单位并且想要将它们转换为点?

iPad 屏幕的对角线为 9.7 英寸。以点为单位,它是 1024x768。因此,应用毕达哥拉斯,对角线上有 1280 点。因此每英寸点数非常接近 132,我在其他地方也看到没有从第一原理计算。

所以,x 英寸的距离是 x * 132 点。例如。 1.5" 是 198 点。

【讨论】:

不是 1024*768 像素的分辨率吗?这给出了 PPI,即每英寸像素数。我需要知道如何在可可点中找到,无论该度量单位实际上是什么。 在这种情况下,可可点是一个像素。 OP是正确的。因此,对于横向的 iPad,您可以保证 iPad 的物理中心位于 (512,384) 附近。 “在这种情况下”是什么意思?我读过的所有内容都说一个点不等于一个像素。无论如何,乘以 132 并没有帮助。我要标记的点在 x 轴上是 1.28 英寸,在 y 轴上是 2.05 英寸,乘以 132 会显示完全不同的点。 我认为“在这种情况下”是指 iPhone 4 和其他 iPhone 机型的区别;前者每点的像素数是前者的两倍。如果您进入 Interface Builder,添加一个 169 x 271 像素的视图,运行应用程序并测量框,它将是 1.28 x 2.05 英寸。 在非视网膜设备上,1 点 = 1 像素。似乎没有获得 PPI 的方法(我曾经发现过),但它在 iPad 上为 132,在 iPod 和 iPhone 上约为 163(iPod 屏幕在物理上略小,但足够接近)。在视网膜设备上(即目前只有 iPhone 4)1 点 = 2 像素,这是我认为 Warren 选择“在这种情况下”的唯一原因——以防有人遇到 iPhone 问题并在未来,而且一般来说是准确的。

以上是关于在 UIView 中查找特定点的主要内容,如果未能解决你的问题,请参考以下文章

在特定点停止 CABasicAnimation

在 StoryBoard 中查找 UIView

如何在 UITests Target 中使用accessibilityIdentifier 查找UIView

在 Swift 的 UIView 中查找 UILabel

在表格视图单元格中查找 UIView 的 x 位置

如何在iOS中查找UIView子视图的值变化