Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 获取UIImageView的位置_Ios_Swift_Uiimageview_Uiimage - Fatal编程技术网

Ios 获取UIImageView的位置

Ios 获取UIImageView的位置,ios,swift,uiimageview,uiimage,Ios,Swift,Uiimageview,Uiimage,我有一个带有变量X和Y坐标的现有UIImageView。图片应该根据当前位置的差异移动,但我不知道如何获得当前位置 picture = UIImageView(frame: CGRectMake(corx, cory, 25, 25)) 我希望你能帮助我。只需获取图片的框架: picture.frame.origin.x picture.frame.origin.y 使用要作为基础的视图框架的x和y坐标。从UIView继承的任何内容都将有一个与之关联的框架 var picture = UII

我有一个带有变量X和Y坐标的现有UIImageView。图片应该根据当前位置的差异移动,但我不知道如何获得当前位置

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

我希望你能帮助我。

只需获取图片的框架:

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

使用要作为基础的视图框架的x和y坐标。从UIView继承的任何内容都将有一个与之关联的框架

var picture = UIImageView(frame: CGRectMake(view.frame.origin.x, view.frame.origin.y, 25, 25))

可以通过两种不同的方式获取视图的坐标

picture.bounds
-边界矩形,用于描述视图在其自身坐标系中的位置和大小

picture.frame
-框矩形,用于描述视图在superview坐标系中的位置和大小

在这两种情况下,尺寸组件应相同

在下面的代码中,原点将是具有原始坐标(corx,cory)的点

您可能希望使用picture.frame.origin来设置视图的动画。创建实例并调整新帧的原点后,始终可以说
picture.frame=

范例

CGRect r = picture.frame;
r.origin.x += 10;
r.origin.y += 10;
picture.frame = r;
但这将不是平滑动画-可以使用CoreAnimation为平滑过渡设置帧属性的动画


希望这有助于

为什么要改变原来的答案:picture.frame.origin.x等等。。。这似乎更清楚/正确…好的观点。我重新阅读了这个问题,认为他指的是总体观点。但你是对的——如果你发现其中任何一个答案都是有用的,你应该接受其中一个……这就是礼仪:)还没有时间尝试答案。如果我找到一个有用的答案,我会接受的。
CGRect r = picture.frame;
r.origin.x += 10;
r.origin.y += 10;
picture.frame = r;