【发布时间】:2014-09-14 21:38:55
【问题描述】:
我试图在我的屏幕上获取两个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,我总是会根据两个 UIImageViews 的初始坐标得到相同的结果。
怎么了?为什么我只得到初始坐标而不是新坐标? 谢谢!
【问题讨论】:
-
使用调试器查看发生了什么,在移动视图时观察框架。日志记录也有帮助,还可以考虑 Spark Inspector 在运行应用程序时查看所有 3D 视图 - 无需添加任何内容到应用程序中即可使用它。也许你并没有改变你认为的观点。
-
也许检查
bounds而不是frame或检查round1.center?也许检查layer位置?这完全取决于你如何让 uiimageviews 移动...... -
如何移动图像视图?通过滚动视图?通过转型?通过自己更改框架?
标签: ios swift coordinates cgrect