获取UIImageView的位置

3

我有一个已经存在的UIImageView,其中包含变量X和Y坐标。图片应该根据当前位置差异移动,但我不知道如何获取当前位置。

picture = UIImageView(frame: CGRectMake(corx, cory, 25, 25))

我希望你能帮我解决问题。


如果您发现任何答案有用,您应该接受其中之一...那是礼节 :) - Moonwalker
我还没有时间尝试这些答案。如果我找到了有用的答案,我会接受它们。 - Lukas Köhl
3个回答

2

只需获取图片的框架:

picture.frame.origin.x
picture.frame.origin.y

为什么要改变你原来的答案:picture.frame.origin.x等等...那个看起来更清晰/正确... - Lyndsey Scott
好观点。我重新阅读了问题,认为他指的是一般视图。但你是对的——图片更有意义。 - Choppin Broccoli

2
您可以通过两种不同的方式获取视图的坐标。 picture.bounds - 边界矩形,描述了视图在其自身坐标系中的位置和大小。 picture.frame - 框架矩形,描述了视图在其父视图坐标系中的位置和大小。
在这两种情况下,大小组件应该是相同的。
在下面的代码中,原点将是具有您原始坐标(corx,cory)的点。
CGPoint origin = picture.frame.origin

您可能想要使用picture.frame.origin来实现视图动画。一旦创建了实例并调整了新框架的原点,您始终可以说picture.frame = <new frame>

示例

CGRect r = picture.frame;
r.origin.x += 10;
r.origin.y += 10;
picture.frame = r;

这不会是一个流畅的动画,但你可以使用CoreAnimation来动画化帧属性以实现平滑过渡。
希望这有所帮助。

0
使用要基于的视图框架中的x和y坐标。任何继承自UIView的对象都将与其关联一个框架。
var picture = UIImageView(frame: CGRectMake(view.frame.origin.x, view.frame.origin.y, 25, 25))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接