当我在屏幕上拖动 uiimageview 时出现我的问题,该屏幕设置为只能在 x 轴方向上拖动。代码类型的作品。uiimageview 移动正常,它仅限于 x 轴,这正是它应该做的。但是,当您开始在 uiimageview 的框架之外拖动时,它会停止沿着我的手指移动。
这显然与此方法有关:CGRectContainsPoint。请记住,这在我的代码中是非常必要的,因为我只希望 uiimageview 移动,当用户设置它的手指时。
如果我不使用这个方法 CGRectContainsPoint,即使用户的手指不接触图像,图像仍然会移动。非常感谢任何解决此问题的工作。
这是我的代码:
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
NSLog(@"Touches Moved is running");
UITouch *touch = [[event allTouches] anyObject];
CGPoint location = [touch locationInView:self.view];
if (CGRectContainsPoint(UIImageView, location) && UIImageView >= 40)
{
NSLog(@"Contains Point UIImageView Center!");
CGPoint xLocation = CGPointMake(location.x,UIImageView);
UIImageView = xLocation;
//here it comes.. big block of code//
if (location.x <= 40) {
NSLog(@"Start Dragging Point");
CGPoint newLocation = CGPointMake(40
, 402);
UIImageView = newLocation;
}
else if(location.x >= 273) {
NSLog(@"End Dragging Point");
CGPoint newLocation = CGPointMake(273
, 402);
UIImageView = newLocation;
}
}