2

我希望能够跟踪我的用户正在点击的按钮。有没有办法“捕获”或“记录”我的应用程序内的所有按钮点击?

我在考虑方法调配,但我真的不想这样做。

4

3 回答 3

1

方面编程可以帮助你。看看这个库:

https://github.com/steipete/Aspects

基本上你会做类似的事情:

[UIButton aspect_hookSelector:@selector(whateverSelectorYouWantToHookOn:) 
                  withOptions:AspectPositionAfter 
                   usingBlock:^(id<AspectInfo> aspectInfo) {
   NSLog(@"UIButton called");
} 
error:NULL];

查看 AspectInfo 以获取有关所调用实例的更多信息。

于 2014-12-17T15:52:28.267 回答
0

您可以继承 UIButton 以添加日志记录。接受的答案

目标 C:从 UIButton 类的子类创建的按钮不起作用

很好地解释了为什么这是子类化可能有用的少数实例之一。

基本上 UIButton 继承自 UIControl 和UIControl 类引用状态

子类化说明 您可能出于以下两个原因之一想要扩展 UIControl 子类:

观察或修改针对特定事件向目标发送操作消息
提供自定义跟踪行为(例如,更改突出显示外观)

于 2014-12-17T15:55:22.507 回答
0

按钮可以附加多个操作。您始终可以为每个按钮添加日志记录操作。action 方法接收发送者,因此您可以记录有关被点击按钮的信息。

于 2014-12-17T15:40:25.627 回答