问题标签 [touchesbegan]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
878 浏览

iphone - touchesBegan 并不总是响应

我正在检测屏幕上的滑动,它完全按照我想要的方式工作。唯一的问题是,在测试中,我一遍又一遍地滑动,至少 90% 或更多的时间它在响应,但时不时地没有响应。

我 NSLog'd 一切以找到罪魁祸首,并发现 touchesBegan 在发生这种情况的几次中都没有被检测到。

这是我的代码,虽然 touchesBegan 甚至没有被调用,所以代码应该无关紧要:

有任何想法吗?

谢谢!

* 使用解决方案编辑* 这是我根据 dredful 的建议探索 UISwipeGestureRecognizer 后最终使用的代码:

在.h中:

以 .m 为单位:

0 投票
2 回答
840 浏览

iphone - 在 iPhone 中是否会在没有 UIView 或 UIViewController 的情况下调用 touchesBegan 方法?

我在只有 appdelegate 类的地方创建了一个应用程序。我不创建 UIView 或视图控制器。我刚刚在我的窗口中添加了文本字段、标签和按钮。

当用户点击文本框时,我想隐藏键盘。这通常通过 touchesBegan 方法实现。为了实现这个方法,我们需要做两件事。

一种是在头文件中添加(.h)

另一个是设置 textField 的委托。也就是说, textField.delegate=self;

我做了这两件事。但是仍然没有调用 touchesBegan 方法。

为什么?我应该有一个 UIView 或 UIViewController 类吗?

提前致谢

0 投票
0 回答
3226 浏览

ios - iOS touchesBegan 被 UIScrollView 覆盖。不是延迟问题。在这种情况下不能使用手势识别器

所以我读了很多,但我仍然找不到解决方案。

我有 aUIViewController正在创建(以编程方式) a UIScrollView,它包含 aUIView和 a UIImage。谎言凌驾于其他UIView之上。

这会UIView产生一些UIImageViews我需要在被点击时获得反馈的信息。我需要通过获取他们的标签来知道哪个图像被点击了。这就是为什么我不能使用手势识别器,因为它只能在一个视图上调用。

如果我这样称呼:

在视图上(称为GraphView,它有自己的类)我得到了我需要的东西。不过,我需要从ViewController端执行此操作,因为我必须打开模式窗口、导航控制器等……如果我在ViewController上使用相同的代码,则不会发生任何事情。如果我禁用用户交互,UIScrollView它就可以工作。如果我禁用延迟,UIScrollView什么都不会发生。不管你按多久,你什么都得不到。touchesBegan即使启用了延迟,也不会被调用。

这是我生成视图的ViewController实现的一部分:

ViewController上的.h文件如下所示:

与往常一样,我感谢所有可以提供任何想法的人(我一直在这里得到很多帮助,所以提前感谢:-))。

0 投票
4 回答
350 浏览

iphone - NSTimer 无效后触摸处理没有响应

我正在创建一个重复的 NSTimer 对象,该对象-Loop()在运行循环的每次迭代中调用该方法:-

在 Loop() 中,我在必要时使计时器无效:-

但是,在使用 -invalidate() 之后,触摸处理方法 -touchesBegan()、-touchesEnded() 停止响应触摸事件。NSTimer 会以某种方式影响运行循环吗?

0 投票
2 回答
1198 浏览

objective-c - -(void)touchesBegan (到指定的 UIIMAGEVIEW)

嗨,我想这样做,如果您触摸我放在视图上的图像,-(void)checkcollision 就会发生。-(void)checkcollision 发生了,但是当我触摸任何东西时。我怎么能说它只有在我触摸指定的图像时才有效。例如一个疙瘩:

这是touchesBegan代码

0 投票
1 回答
1262 浏览

iphone - 强制触摸多个视图

我有两个重叠的自定义视图,它们都需要接收触摸事件(例如 touchesBegan 和 touchesMoved)。但是,我只能获取其中一个视图(顶部视图)来接收事件。我尝试使用以下方法将事件从一个视图转发到另一个视图:

[otherView touchesEnded:touches withEvent:event];

但这并不总是有效。

我需要将触摸事件同时发送到两个视图。任何人都可以帮忙吗?

0 投票
1 回答
293 浏览

iphone - touches移出本端视图

我正在我的工作地点从事一个重要的项目,并且遇到了一个问题:

我一行有 2 个视图(1 个带有图像的滚动视图,另一个只是一个UIImageView),我想让它能够将图像从滚动视图移动到UIImageView),我可以成功识别并移动图像滚动视图,但问题是当移动离开滚动视图时,掉落的图像消失在后面,无法到达通往 imageView 的道路。

请问有什么建议吗?

0 投票
1 回答
1193 浏览

iphone - 如何取消uitouches?

在我的应用程序中,我想让用户点击屏幕左侧以提高他们的速度并在右侧滑动以使用操纵杆。但是,如果用户一直按住左侧,则操纵杆将无法正常工作。

我正在使用 touchesBegan、touchesMoved 等。有没有办法可以取消第一次触摸的信息并单独操作操纵杆?

我已经试过了[self touchesCancelled: touches withEvent: event];,还有其他方法吗?

0 投票
1 回答
503 浏览

uigesturerecognizer - 如何从 UIGesture 获取多点触控的多个坐标

我有三个手势:2 指点击、3 指点击和 4 指点击。我需要相应地获取坐标。

我尝试了以下方法来协调 2 个手指点击,但应用程序不断崩溃:

0 投票
1 回答
814 浏览

ios - EXC_BAD_ACCESS:尝试处理父 UIVIew 中的触摸事件时

试图拦截父 UIView 上的触摸事件,该父 UIView 封装了 UIScrollView 和另一个 UIView(叠加层),它们并排放置(意味着彼此重叠,在同一个容器视图中)。截至目前,我只是试图打印出在父 UIView 上确认 touchesBegan 事件的结果,但它抛出了 EXC_BAD_ACCESS,并出现以下错误:

我认为所有相关代码都应该在下面。我也将整个项目上传到http://devmu.com/transfer/NoteMap.zip,如果这样更容易看到的话。

UIViewController 的加载视图:

容器视图:

我有 ContainerView 的单独 nib 文件(从控制器加载),它是两个子视图,MapView 和 MapOverlayView(从 ContainerView 的 init 加载)。不知道这是否重要......但笔尖文件只引用了它们包含的视图。IE。ContainerView.xib 的 File Owner 是 UIViewController,它的唯一视图是 ContainerView。MapView.xib 和 MapOverlayView.xib 的 File Owner 是 ContainerView,其中包含 MapView 和 MapOverlayView 的两个引用(ContainerView/File Owner 的 IBOutlets)。

这可能是什么原因造成的?

谢谢你的帮助。