ios - 对 touchBegan 示例感到困惑

标签 ios cocoa-touch

我看到了一些使用 touchesBegan 回调的例子:

for (UITouch *touch in touches) {...}

而其他人使用:

UITouch *touch = [touches anyObject];

我不明白什么时候需要 for 循环,什么时候不需要。有人可以帮助我理解这一点吗?

最佳答案

如果您没有启用多点触控,那么您将接收到单点触控。您可以使用 [touches anyObject]; 从集合 touches(包含单个项目)中检索它。

如果您启用了多点触控,那么集合touches 可能包含多个项目,您必须使用一个循环来访问所有这些项目。

for (UITouch *touch in touches) {
    // Your code here to handle the touch
}

最后,请注意,即使您只有一次触摸,使用循环在所有情况下都有效。

关于ios - 对 touchBegan 示例感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9752428/

相关文章:

ios - 是否可以更改 UISearchBar 占位符的对齐方式?

ios - 两个同时 ScrollView 表现得很奇怪

ios - VoiceOver 和异步 UITableView

iphone - 无法从异步 block 向主线程发送参数

iphone 当前位置不显示

iphone - 导航 Controller 后退按钮消失了吗?

iOS 应用程序在启动时崩溃

ios - 使用 Apple Map Kit 从某个位置获取周围的邮政编码

iphone - 以编程方式在 UiTextField 中移动光标

ios - 如何将导航按钮一直限制在左侧或右侧? (iOS)