我想为我的KCFloatingActionButton定义动作。 UITapGestureRecognizer是为ViewController中的fab按钮定义的,但是我想在管理器类或另一页中执行此操作。我有KCFloatingActionButton视图,但不能给它单击操作。当我单击KCFloatingActionButton时,我不想使用addGestureRecognizer定义新的UITapGestureRecognizer,我希望它执行已定义的操作。
我可以按如下方式对UIButton或UIBarButtonItem执行此操作
button.sendActions(用于:.touchUpInside)
barButtonItem.target?.perform(barButtonItem.action,带有:nil)
如何为KCFloatingActionButton进行此操作?
您可以尝试这样的事情:
button.addTarget(self, action: #selector(handleButtonAction), for: .touchUpInside)
@objc func handleButtonAction(){
//Put your logic here
}
self
中的addTarget
指的是将要执行的动作,在这种情况下将在当前ViewController中。
[#selector(handleButtonAction)
是用户触摸按钮时将执行的功能,在这种情况下将是一个Objective-C功能(这就是为什么使用“ #selector”)。
.touchUpInside
是执行该功能必须触发的事件。
最后,函数本身@objc func handleButtonAction() { }
将执行您为修饰事件定义的所有动作。
@objc
属性进来:当您将其应用于类或方法时,它指示Swift将这些内容提供给Objective-C和Swift代码。