我希望能够跟踪用户点击的按钮。 有没有办法“捕获”或“记录”我的应用程序中的所有按钮水龙头?
我在考虑方法调整,但我真的不想进入。
答案 0 :(得分:1)
Aspect Programming可能对您有所帮助。看看这个图书馆:
https://github.com/steipete/Aspects
基本上你做的事情如下:
[UIButton aspect_hookSelector:@selector(whateverSelectorYouWantToHookOn:)
withOptions:AspectPositionAfter
usingBlock:^(id<AspectInfo> aspectInfo) {
NSLog(@"UIButton called");
}
error:NULL];
有关所调用实例的更多信息,请查看AspectInfo。
答案 1 :(得分:0)
按钮可以附加多个动作。您始终可以为每个按钮添加日志记录操作。操作方法接收发件人,因此您可以记录有关已点击的按钮的信息。
答案 2 :(得分:0)
您可以将UIButton子类化以添加日志记录。
上接受的答案objective C: Buttons created from subclass of UIButton class not working
有一个很好的解释,为什么这是子类化可能有用的少数几个实例之一。
基本上UIButton继承自UIControl和UIControl Class Reference状态
子类注释您可能希望扩展UIControl子类有以下两个原因:
观察或修改向特定事件的目标发送动作消息的信息 提供自定义跟踪行为(例如,更改突出显示外观)