iphone - Objective-C——在 Cocoa-Touch 中处理触摸事件的选项

标签 iphone objective-c ios cocoa-touch

所以我相信在为 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/

相关文章:

ios - UITabBarItem - 所有项目在首次启动时显示 selectedImage

iphone - 如何结合 `int`和 `NSInteger`的优点

ios - 使用多语言内容的良好做法

iphone - 这是否被视为在 iPhone 开发中使用私有(private)函数,从而非法?

ios - UICollectionview 动态适应一行

ios - UITextField 中的文本不会正确居中

iphone - 在 iOS 应用程序中通过 WhatsApp 共享图像/文本

objective-c - 没有 use_frameworks 就无法安装 Swift cocoapod!找不到 module-swift.h 文件

iphone - 指针和引用

objective-c - UITableView : popViewController and keep row index into parent controller?