我有一个应用程序。我假设有两个观点有问题。第一个视图有三个按钮排列在另一个之下。单击三个中的任何一个将带我们到第二个视图,其中包含3个tableview单元格。
问题是,如果我们转到第二个视图并返回到第一个视图,则第一个视图中的按钮不可点击。我附上两个视图的屏幕。
注意:表格视图单元格是可点击的。我们按下关闭按钮返回第一个视图。在第二个视图的左上角。
**问题简而言之:如果我们转到视图2,请单击“X”关闭按钮,视图1中的三个按钮,即fb,G +和电子邮件不可点击。 **
以下是第一个视图中三个按钮的代码。
@IBAction func firstBtnAction(_ sender: Any) {
let bounds = self.firstBtn.bounds
UIView.animate(withDuration: 1.0, delay: 0.0, usingSpringWithDamping: 0.2, initialSpringVelocity: 10, options: [], animations: {
self.firstBtn.bounds = CGRect(x: bounds.origin.x - 20, y: bounds.origin.y, width: bounds.size.width + 20, height: bounds.size.height)
self.firstBtn.isEnabled = false
}, completion: nil)
goaltype = "Conversion"
UserGoal()
}
@IBAction func secondBtnAction(_ sender: Any) {
let boundss = self.secondBtn.bounds
UIView.animate(withDuration: 1.0, delay: 0.0, usingSpringWithDamping: 0.2, initialSpringVelocity: 10, options: [], animations: {
self.secondBtn.bounds = CGRect(x: boundss.origin.x - 20, y: boundss.origin.y, width: boundss.size.width + 20, height: boundss.size.height)
self.secondBtn.isEnabled = false
}, completion: nil)
goaltype = "Engagement"
UserGoal()
}
@IBAction func thirdBtnAction(_ sender: Any) {
let bounds3 = self.thirdBtn.bounds
UIView.animate(withDuration: 1.0, delay: 0.0, usingSpringWithDamping: 0.2, initialSpringVelocity: 10, options: [], animations: {
self.thirdBtn.bounds = CGRect(x: bounds3.origin.x - 20, y: bounds3.origin.y, width: bounds3.size.width + 20, height: bounds3.size.height)
self.thirdBtn.isEnabled = false
}, completion: nil)
goaltype = "Storytelling"
UserGoal()
}
第二个视图表格视图单元格有一个小动画。
编辑1:当我尝试添加isEnabled = true时,该按钮是可点击的。但是,由于动画,它会在每次点击时不断扩展。见图:
如何使按钮可点击?
答案 0 :(得分:1)
您为所有按钮设置了isEnabled = false
。返回第一个视图时启用它
self.firstBtn.isEnabled = true
self.secondBtn.isEnabled = true
self.thirdBtn.isEnabled = true
仅在动画时禁用按钮,在完成块中启用它
UIView.animate(withDuration: 1.0, delay: 0.0, usingSpringWithDamping: 0.2, initialSpringVelocity: 10, options: [], animations: {
self.thirdBtn.bounds = CGRect(x: bounds3.origin.x - 20, y: bounds3.origin.y, width: bounds3.size.width + 20, height: bounds3.size.height)
self.thirdBtn.isEnabled = false
}) { (_ isCompleted) in
self.thirdBtn.isEnabled = true
}
同样适用于firstBtn
& secondBtn
动画