0

我已经进行了编码以检查图像是否越过特定区域,

-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {

CGPoint loc=[touch locationInView:self.view];

if (touch.view==img2Obj) {
    NSLog(@"image2");
    img2Obj.center=loc;

    currentx1=img2Obj.frame.origin.x;
    currenty1=img2Obj.frame.origin.y;
    //NSLog(@"top left corner x and y is %.1f and %.1f",img2Obj.frame.origin.x,img2Obj.frame.origin.y);
    [self isImg1InPos];

}}
-(void)isImg1InPos {

int dx,dy;

dx=currentx1-x1;
dy=currenty1-y1;
if (abs(dx)<5 && abs(dx)<5) {
    NSLog(@"Image must stop moving after this!!!");
    [img2Obj setUserInteractionEnabled:FALSE];
}
//NSLog(@"unsigned int is %d",abs(dx));

}

我希望图像在通过条件时停止移动。

[img2Obj setUserInteractionEnabled:FALSE];

但它不起作用,谁能告诉我如何解决这个问题

提前谢谢了

4

1 回答 1

1

只需保留一个单独的BOOL值,称为 eg ,并根据此标志的值提前movingEnabled退出您的例程(即在调整图像的位置之前)。touchesMoved

于 2012-10-29T11:21:43.683 回答