所以我相信在为 iDevices 编程时有很多选项可以处理触摸事件。我遇到的一些选项是 UITapGestureRecognizer
,当然还有 UIButton
。还有其他选择吗?哪些选项最适合使用?也许有人有指向总结此内容的指南或教程的链接?
干杯,
彼得
最佳答案
1) 目标操作:UIControl
(UIButton
是它的子类)通过添加目标提供一些内置的触摸处理和某些类型的触摸事件的 Action 。示例:
[myButton addTarget:self
action:@selector(buttonTapped:)
forControlEvents:UIControlEventTouchUpInside];
2) 覆盖 UIView
方法 touchesBegan:withEvent:
, touchesMoved:withEvent:
, touchesEnded:withEvent:
和 touchesCancelled:withEvent:
– 提供非常细粒度的控制,但可能难以用于复杂的多点触控处理。
3) 手势识别器(自 iOS 3.2 起):识别通常由多个触摸事件组成的多点触摸(或单点触摸)手势。内置手势识别器支持识别点击、捏合、旋转手势、滑动、平移和长按。还可以为更复杂的手势创建自定义手势识别器。
所有手势识别子类都可以在一定程度上进行自定义,例如您可以为 UITapGestureRecognizer
指定最少的点击和触摸次数。
通常,手势识别器既可以提供离散事件(如点击),也可以提供连续事件(如随时间改变角度的旋转)。
关于iphone - Objective-C——在 Cocoa-Touch 中处理触摸事件的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7404029/