Ios 点击屏幕后,如何运行代码?

Ios 点击屏幕后,如何运行代码?,ios,uigesturerecognizer,Ios,Uigesturerecognizer,我正在用Xcode开发一个游戏,其中一个对象在屏幕上来回弹跳。一旦用户点击屏幕上的任何地方,我需要运行代码来阻止对象移动。虽然我可以,但我不想用按钮。我是新手,不明白一旦用户点击屏幕,我需要使用什么来运行一些代码。你能告诉我该用什么并解释一下它的作用吗 代码: 以下是您可以在UIView子类中重写的方法: - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event; - (void)touchesMoved:(NSSet *)

我正在用Xcode开发一个游戏,其中一个对象在屏幕上来回弹跳。一旦用户点击屏幕上的任何地方,我需要运行代码来阻止对象移动。虽然我可以,但我不想用按钮。我是新手,不明白一旦用户点击屏幕,我需要使用什么来运行一些代码。你能告诉我该用什么并解释一下它的作用吗

代码:


以下是您可以在UIView子类中重写的方法:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event

使用UITapGestureRecognitor。使用
[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(handleTap:)]初始化一个

这就是处理方法的样子

- (void)handleTap:(UITapGestureRecognizer *)sender {
    if (sender.state == UIGestureRecognizerStateEnded)
    {
        // handling code
    }
}

您可以使用UIApgestureRecognitizer或覆盖UIViewController的TouchesBegind(::)、touchedMoved(::)。。。编写自己的触摸处理逻辑

只有当触碰的视图用户位于响应者链中时,才能始终触发touchesBegind(::)方法时,手势识别器才会绑定到视图并在其上运行


一种手势识别器只监控它定义的手势行为(轻触、长按…。

你必须使用UI手势进行识别Ok我会研究的。Ok。我对它进行了研究,看了一些教程,但仍在努力。我会把我的代码贴在上面让你看看。应用程序运行,但一旦我点击屏幕,什么都不会发生。我做错了什么?我猜按钮被点击了(你可以添加一个断点来检查它),下面的函数没有被触发的原因是因为你的定时器。应将NSTimer对象添加到NSRunLoop对象,这是NSRunLoop.mainRunLoop()的典型单例
- (void)handleTap:(UITapGestureRecognizer *)sender {
    if (sender.state == UIGestureRecognizerStateEnded)
    {
        // handling code
    }
}