我正在开发一款游戏,其中一个
UIImageView
沿着一条 Bezier
路径移动。我希望用户可以通过触摸和拖拽 UIImageView
在路径上进行操作!那么如何实现呢?请参考下方的示意图:
UIImageView
沿着一条 Bezier
路径移动。我希望用户可以通过触摸和拖拽 UIImageView
在路径上进行操作!那么如何实现呢?请参考下方的示意图:
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
for (UITouch *touchPoint in touches)
{
if(CGRectContainsPoint(touchimgView.frame, [touchPoint locationInView:self.view]))
selectedImageCat=(UIImageView*)touchimgView;
}
}
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
if (selectedImageCat!=nil)
{
CGPoint pt = [[touches anyObject] locationInView:self.view];
[selectedImageCat setCenter:pt];
}
}
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
//here you provide final frame for touchimgView object
}
只需使用平移手势并将其添加到UIImageView中,并提供用户移动它的路径。平移手势
这个链接可能有助于理解和实现相同的功能。如果还有其他问题,请告诉我。
你必须检查触摸点坐标是否在贝塞尔路径内。如果在内部,则允许UITouch和Movement,否则不允许。相应地给出If条件。