我使用以下代码移动UIImageView
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [[event allTouches] anyObject];
CGPoint location = [touch locationInView:touch.view];
paddle.center = CGPointMake(location.x, paddle.center.y);
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
[self touchesBegan:touches withEvent:event];
}
效果很好,从左到右移动。但我无法弄清楚如何避免在屏幕上移动,我想移动它,但不要交叉屏幕的左右边缘。让我们说左起10像素,右起10像素。
答案 0 :(得分:0)
首先,你是这样说的:
paddle.center = CGPointMake(location.x, paddle.center.y);
所以paddle
在哪里,完全取决于你。如果您不希望它达到某个x值,请不要将其设置为该x值。
其次,永远不要在touchesBegan
内致电touchesMoved
。
第三,使用UIPanGestureRecognizer,您会更开心,更安全。像这样的情况正是它的原因。