如果未单击button1,我想禁用button2,并在单击button1时启用它。问题是,即使我已经单击了button1,button2也被禁用。我没有收到任何错误,我正在Xcode10中使用Swift4。
这是我的代码:
class ViewController: UIViewController {
@IBOutlet weak var btn1: UIButton!
@IBOutlet weak var btn2: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
intro()
btn1.setImage(UIImage(named: "checked.png"), for: .selected)
btn1.setImage(UIImage(named: "unchecked.png"), for: .normal)
}
@IBAction func button1(_ sender: UIButton) {
UIView.animate(withDuration: 0.5, delay: 0.1, options: .curveLinear, animations: {
sender.transform = CGAffineTransform(scaleX: 0.1, y: 0.1)
}) { (success) in
UIView.animate(withDuration: 0.5, delay: 0.1, options: .curveLinear, animations: {
sender.isSelected = !sender.isSelected
sender.transform = .identity
}, completion: nil)
}
}
func intro() {
if btn1.isSelected == true {
btn2.isUserInteractionEnabled = true
} else {
btn2.isUserInteractionEnabled = false
}
}
}
我也尝试了以下代码:
func intro() {
if btn1.isTouchInside == true {
btn2.isUserInteractionEnabled = true
} else {
btn2.isUserInteractionEnabled = false
}
}
答案 0 :(得分:0)
在您的viewDidLoad()
btn2.isEnabled = false
或
btn2.isUserInteractionEnabled = false
并将按钮操作更改为
@IBAction func button1(_ sender: UIButton) {
if btn1.isSelected == true {
btn2.isUserInteractionEnabled = true
} else {
btn2.isUserInteractionEnabled = false
}
}
答案 1 :(得分:0)
我认为首先要禁用button2,然后单击button1时应启用它。
为此
override func viewDidLoad() {
super.viewDidLoad()
btn1.setImage(UIImage(named: "checked.png"), for: .selected)
btn1.setImage(UIImage(named: "unchecked.png"), for: .normal)
btn2.isenable = false
}
@IBAction func button1(_ sender: UIButton) {
if sender.isSelected == true
{
btn2.isenable = true
}
else
{
btn2.isenable = false
}
}