修复 iOS 中的多个按钮单击事件?

Fix multiple button click events in iOS?

有什么办法可以防止多次按钮点击事件。在我的应用程序中,我有一个场景,当用户连续点击按钮时,会调用多个按钮事件。即使在添加加载指示器之后,有时它仍然会发生。有没有通用的解决方案来处理这个问题?

当你点击点击方法中的按钮时输入代码

btnClick.userInteractionEnabled = false;

完成任务后将不再让用户单击按钮再添加一行代码使用户能够单击按钮

btnClick.userInteractionEnabled = true;

如果你使用 UiButton 试试这个

@IBAction func tapButton(sender: Any) {
    print("Tap")
    let btn = sender as! UIButton
    btn.isUserInteractionEnabled = false
}

如果你使用 UIBarButtonItem,试试这个

   leftButton = UIBarButtonItem(image: UIImage(named: "backimage")!, style: UIBarButtonItemStyle.plain, target: self, action: #selector(self.toggleLeft))
    leftButton.title = "Back"

    navigationItem.leftBarButtonItem = leftButton


@objc public func toggleLeft() {
    print("tap")
    leftButton.isEnabled = false
//   self.navigationController?.popViewController(animated: true)
}

在尝试了 enabling/disabling 按钮和 enabling/disabling UI(根本不推荐)等不同方式后,我觉得最好的方法是使用 "bool" 变量来检查按钮的点击状态。

`
var isButtonTapped = false
@IBAction func tapButton(sender: Any) {
    print("Tap")
    if(!isButtonTapped){
    //Perform your operations or page navigations. After the navigation operation set the bool value to true.
    isButtonTapped = true;
  }
}`

确保在离开 ViewController 时将 bool 值重置为 false。您可以在 ViewDidDisappear.

中执行此操作