Objective C iPhone编程点或形状以跟随光标

时间:2014-01-30 02:58:18

标签: ios iphone objective-c

我如何创建一个程序,以便在中心开始点,当我点击屏幕时,点击在我点击的位置?不像传送到它,我的意思是改变它的坐标略微每次点击。我理解如何在理论上做到这一点,就像在

中一样
if (mouseIsClicked) { 

    [mouseX moveX];
    [mouseY moveY];

}

让类似mouseX和mouseY有一些方法可以移近鼠标所在的位置,但我只是不知道实际让它发生的任何细节。哎呀,我甚至不知道如何生成一个点!这些指南都没有任何帮助。我真的想学习这门语言。我一直坐在我的家里,试图让任何东西都能正常工作,但是没有什么能在我想要的地方附近工作。

感谢帮助像我这样的新手。

3 个答案:

答案 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];