如何为 KCFloatingActionButton 定义 touchUpInside 操作?

How can I define the touchUpInside action for KCFloatingActionButton?

我想为我的 KCFloatingActionButton 定义动作。 UITapGestureRecognizer 是为 ViewController 中的 fab 按钮定义的,但我想在管理器 class 或另一个页面上执行此操作。我得到了 KCFloatingActionButton 视图,但我无法点击它 action.When 我点击了 KCFloatingActionButton 我不想用 addGestureRecognizer 定义一个新的 UITapGestureRecognizer,我希望它执行它定义的操作。

我可以按如下方式为 UIButton 或 UIBarButtonItem 执行此操作

button.sendActions(对于:.touchUpInside)

barButtonItem.target?.perform(barButtonItem.action, with: nil)

如何为 KCFloatingActionButton 执行此操作?

您可以尝试这样的操作:

button.addTarget(self, action: #selector(handleButtonAction), for: .touchUpInside) 


@objc func handleButtonAction(){
    //Put your logic here
}

addTarget 中的 self 指的是要执行的操作的位置,在本例中将在当前 ViewController.

#selector(handleButtonAction) 是当用户触摸按钮时将执行的函数,在本例中将是一个 Objective-C 函数(这就是使用“#selector”的原因)。

.touchUpInside是执行函数必须触发的事件。

最后,函数本身 @objc func handleButtonAction() { } 将执行您为触摸事件定义的所有操作。

@objc 属性出现:当您将它应用于 class 或方法时,它会指示 Swift 使这些东西对 Objective-C 以及 Swift代码。