ios - 动态获取CGRect坐标

标签 ios swift coordinates cgrect

我正在尝试获取屏幕上两个 UIImageView 之间的距离,为此我计划从图像 1(不可移动)中减去图像 2(可移动)的中心坐标. 为此,我需要能够动态获取这些图像的坐标,我使用的是这样的东西:

    var centerBoardX = CGRectGetMidX(BlackBoard.frame)
    var centerBoardY = CGRectGetMidY(BlackBoard.frame)
    var centerRoundX = CGRectGetMidX(round1.frame)
    var centerRoundY = CGRectGetMidY(round1.frame)

    println(centerBoardX - centerRoundX)
    println(centerBoardY - centerRoundY)

但是即使我在整个屏幕上移动 image2,我总是会根据两个 UIImageView 的初始坐标得到相同的结果。

怎么了?为什么我只得到初始坐标而不是新坐标? 谢谢!

最佳答案

好的,所以我发现了不对的地方。 我的 UIImageViews 由框架定义,我得到框架的坐标,它们总是相同的。 为了获得正确的坐标,我需要从对象的父 View 中获取信息。 所以工作代码是

var centerBoardX = BlackBoard.superview?.center.x
var centerBoardY = BlackBoard.superview?.center.y
var centerRoundX = Round1.superview?.center.x
var centerRoundY = Round1.superview?.center.y

println(centerBoardX! - centerRoundX!)
println(centerBoardY! - centerRoundY!)

现在一切正常!

关于ios - 动态获取CGRect坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25838277/

相关文章:

ios - 摇晃一定时间?

xcode - 如何结束swift spritekit中的touchesBegan函数

IOS13+ NSPersistentCloudKitContainer UIRefreshControl 如何刷新UITableView内容

ios - 即使用户很久以前离线,XMPP Last Seen 总是返回 '0' 秒

ios - 某些 IOS 设备中的示例 GL_DEPTH24_STENCIL8 深度纹理错误

javascript - 从 MySQL 数据库加载热图 LatLng 坐标 Google map API

java - fillRect() 使用哪个坐标?

ios - 快速从 UIImage/CGImage 获取像素数据作为数组

ios - 在 Firebase 中,检索到的数据不会从 .observeEventType 方法中获取

wolfram-mathematica - 将坐标列表从Mathematica导出到Matlab的最佳格式是什么?