我在我的应用程序中使用拖动选项,因为我想将对象设置在相同位置,即拖回到相同位置后,我尝试使用以下编码设置为som其他位置,我应该做什么改变此,
- (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);
}
答案 0 :(得分: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);
}