我将UIControl子类化为一个包含不同标准控件的自定义控件。

对于此讨论,我们假设我的自定义UIControl仅包含一个UIButton。

我想要实现的是,在自定义UIControl中的任何位置单击都会为该自定义UIControl生成click事件。标准行为是UIButton将处理和使用(即不转发)click事件。

由于不鼓励使用UIButton的子类化,所以我真的找不到一种简单的方法来实现此目的。

有什么建议么?

最佳答案

我想出了一个简单的解决方案,不需要UIButton的子类化。

在为UIButton的TouchUpInside控件事件定义的操作方法中,我添加了以下代码行:

[self sendActionsForControlEvents:UIControlEventTouchUpInside];

单击自定义UIControl中的任意位置时,将导致调用TouchUpInside控件事件。

关于ios - 在自定义UIControl上管理事件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5204126/

10-11 17:54