0

我在我的应用程序中使用拖动选项,因为我想将对象设置在相同的位置,即在拖动回相同的位置后,我尝试使用以下编码将它设置为其他位置,我应该在此进行哪些更改,

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
CGPoint touchPoint = [[touches anyObject] locationInView:self.view];
if (touchPoint.x > self.img1.frame.origin.x &&
    touchPoint.x < self.img1.frame.origin.x + self.img1.frame.size.width &&
    touchPoint.y > self.img1.frame.origin.y &&
    touchPoint.y < self.img1.frame.origin.y + self.img1.frame.size.height )
{
    self.img1.backgroundColor = self.img1.backgroundColor;

}
self.img1.frame = CGRectMake(self.homePosition.x, self.homePosition.y,
                                   self.img1.frame.size.width,
                                   self.img1.frame.size.height);
}
4

1 回答 1

1

.h

CGPoint startPt;

.m

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
    startPt = [[touches anyObject] locationInView:self.view];

}

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
CGPoint touchPoint = [[touches anyObject] locationInView:self.view];
if (touchPoint.x > self.img1.frame.origin.x &&
    touchPoint.x < self.img1.frame.origin.x + self.img1.frame.size.width &&
    touchPoint.y > self.img1.frame.origin.y &&
    touchPoint.y < self.img1.frame.origin.y + self.img1.frame.size.height )
{
    self.img1.backgroundColor = self.img1.backgroundColor;

}
self.img1.frame = CGRectMake(startPt.x, startPt.y,
                                   self.img1.frame.size.width,
                                   self.img1.frame.size.height);
}
于 2013-01-17T05:32:07.500 回答