有什么方法可以防止多个按钮单击事件。在我的应用程序中,我有一个场景,当用户连续点击按钮时会调用多个按钮事件。即使添加了加载指示器,有时它仍然会发生。有没有通用的解决方案来处理这个问题?
问问题
1369 次
3 回答
1
当您单击 click 方法中的按钮时,放置代码
btnClick.userInteractionEnabled = false;
完成任务后,它将不再让用户单击按钮放置另一行代码以使用户能够单击按钮
btnClick.userInteractionEnabled = true;
于 2018-05-24T13:14:37.767 回答
1
如果你使用 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)
}
于 2018-05-24T13:20:17.140 回答
0
在尝试了启用/禁用按钮和启用/禁用 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;
}
}`
确保在离开时将 bool 值重置为 false ViewController
。你可以在ViewDidDisappear
.
于 2018-06-30T06:27:05.457 回答