我如何创建一个程序,以便在中心开始点,当我点击屏幕时,点击在我点击的位置?不像传送到它,我的意思是改变它的坐标略微每次点击。我理解如何在理论上做到这一点,就像在
中一样if (mouseIsClicked) {
[mouseX moveX];
[mouseY moveY];
}
让类似mouseX和mouseY有一些方法可以移近鼠标所在的位置,但我只是不知道实际让它发生的任何细节。哎呀,我甚至不知道如何生成一个点!这些指南都没有任何帮助。我真的想学习这门语言。我一直坐在我的家里,试图让任何东西都能正常工作,但是没有什么能在我想要的地方附近工作。
感谢帮助像我这样的新手。
答案 0 :(得分:1)
如果要创建UIView的子类,可以使用touchesBegan / touchesMoved / touchesEnded方法来完成此任务。类似的东西:
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
CGPoint p = [touch locationInView:self];
//slightly update location of your object with p.x and p.y cgpoints
[self setNeedsDisplay];
}
-(void)drawRect{
//draw your object with updated coordinates
}
答案 1 :(得分:1)
您可以根据UIViewController
子类中的所有点击创建一个点并移动它。
通过创建UIView
来配置绘制你想要的方式来制作你的点 - 查看CALayer
并设置dotview.layer.cornerRadius
使其成为圆形(或者你可以制作一个{{1}覆盖UIView
的子类,以进行正确的drawRect:
调用以绘制您想要的内容。设置CoreGraphics
以定位它。
在视图控制器中使用操作方法创建dotview.center
,根据需要更新UITapGestureRecognizer
。如果你想要它的动画,只需在视图动画调用&中设置属性。像这样的动画块:
dotview.center
答案 2 :(得分:0)
您可以下载示例代码here,它会显示一般的iOS手势。特别是它有一个示例,显示如何拖放UIViews或如何滑动它们。示例代码包括驱动和忘记动画。检查一下,评论一下,我很乐意在审核代码后回答您的任何具体问题。
生成一个简单的圈子
// Above Implementation
#import <QuartzCore/QuartzCore.h>
// In viewDidLoad or somewhere
UIView *circleView = [[UIView alloc] initWithFrame:CGRectMake(32.0, 32.0, 64.0, 64.0)];
[circleView setBackgroundColor:[UIColor redColor]];
[circleView.layer setCornerRadius:32.0];
self.view addSubview:circleView];