如何获取移动 UIImageView 的位置
How to get location of moving a UIImageView
在 touchesBegan
我有这个和其他一些不相关的代码。 :
CGPoint center;
center = [[self.squareOne.layer presentationLayer] center];
squareOne
使用基于方块的 UIView animation
移动。动画代码:
self.squareOne.center = position;
self.squareOne.transform = CGAffineTransformMakeRotation((a + 1) * M_1_PI);
如果这真的很重要,这就是 position
的意思:
position.x = self.widthOfScreen/8 + self.widthOfScreen;
position.y = y;
//y is any number between 0 and the height of the screen
但是当我点击屏幕时,我得到了可怕的:Thread 1: signal SIGABRT
错误。 (我说 touchesBegan
中的其他代码是无关紧要的,因为那两行代码是问题所在。几乎其余的只是 if 语句,最终只会使 squareOne
变得隐藏)。我在问如何在单击屏幕时获取 UIImageView
中间动画的位置。拿到中心没关系,我只想知道如何得到squareOne
的位置在移动时的相对值
我认为问题是表现层没有中心,但是你可以得到一个框架。试试这个...
CALayer *layer = self.squareOne.layer;
CGRect frame = [[layer presentationLayer] frame];
CGPoint center = CGPointMake(CGRectGetMidX(frame), CGRectGetMaxY(frame));
希望对您有所帮助。
在 touchesBegan
我有这个和其他一些不相关的代码。 :
CGPoint center;
center = [[self.squareOne.layer presentationLayer] center];
squareOne
使用基于方块的 UIView animation
移动。动画代码:
self.squareOne.center = position;
self.squareOne.transform = CGAffineTransformMakeRotation((a + 1) * M_1_PI);
如果这真的很重要,这就是 position
的意思:
position.x = self.widthOfScreen/8 + self.widthOfScreen;
position.y = y;
//y is any number between 0 and the height of the screen
但是当我点击屏幕时,我得到了可怕的:Thread 1: signal SIGABRT
错误。 (我说 touchesBegan
中的其他代码是无关紧要的,因为那两行代码是问题所在。几乎其余的只是 if 语句,最终只会使 squareOne
变得隐藏)。我在问如何在单击屏幕时获取 UIImageView
中间动画的位置。拿到中心没关系,我只想知道如何得到squareOne
的位置在移动时的相对值
我认为问题是表现层没有中心,但是你可以得到一个框架。试试这个...
CALayer *layer = self.squareOne.layer;
CGRect frame = [[layer presentationLayer] frame];
CGPoint center = CGPointMake(CGRectGetMidX(frame), CGRectGetMaxY(frame));
希望对您有所帮助。