gpt4 book ai didi

iphone - 如何实现自定义控制的目标 Action 机制?

转载 作者:行者123 更新时间:2023-12-03 18:21:53 34 4
gpt4 key购买 nike

我将编写自己的自定义控件,它与 UIButton 有很大不同。由于差异太大,我决定从头开始编写。所以我所有的子类都是 UIControl。

当我的控件在内部被触摸时,我想以目标操作的方式触发一条消息。该类的用户可以实例化它,然后为此事件添加一些目标和操作。

即想象一下我会在内部调用一个方法 -fireTargetsForTouchUpEvent。我怎样才能在类里面维持这种目标行动机制?我是否必须将所有目标和操作添加到我自己的数组中,然后只在 for 循环中调用目标对象上的选择器(操作)?或者有更智能的方法吗?

我想提供一些方法来为某些事件(例如触摸事件)添加目标和操作(当发生这种情况时,我通过调用内部方法来手动引发)。有什么想法吗?

最佳答案

我只是想澄清@Felixyz 所说的内容,因为一开始我并不清楚。

如果您要子类化 UIControl ,即使您要进行自定义事件,您也不必跟踪自己的目标/操作。功能已经存在,您所要做的就是在子类中调用以下代码来触发事件:

[self sendActionsForControlEvents:UIControlEventValueChanged];

然后在实例化您的自定义的 View 或 View Controller UIControl ,就这样做

[customControl addTarget:self action:@selector(whatever) forControlEvents:UIControlEventValueChanged];

对于自定义事件,只需定义您自己的枚举(例如, UIControlEventValueChanged 等于 1 << 12 )。只需确保它在UIControlEventApplicationReserved定义的允许范围内即可。

关于iphone - 如何实现自定义控制的目标 Action 机制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1288978/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com