我是编码和Xcode的新手。我使用下面的代码从开/关图像切换按钮。当我在iPad上运行应用程序时,它会从我想要的关闭位置开始。当我按下按钮时,它会进入我想要的开启位置。但是当我再次按下按钮时,它不会返回到关闭位置。它看起来像是一个弹簧动作,只是保持在开位置。
我使用打印看看它正在做什么,它只显示我每次按下时都被选中。
我正在使用Xcode 9.1和swift
在我的ViewController中
@IBOutlet weak var toggleButton: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
let normalImage = UIImage(named: "red_switch_off_button.png")
let selectedImage = UIImage(named: "red_switch_on_button.png")
toggleButton.setImage(normalImage, for: .normal)
toggleButton.setImage(selectedImage, for: .selected)
}
@IBAction func didPressButton(_ sender: UIButton) {
if toggleButton.isSelected {print("I am selected.")}
else {print("I am not selected.")}
}
答案 0 :(得分:0)
请执行以下操作:
@IBAction func didPressButton(_ sender: UIButton) {
toggleButton.isSelected = !toggleButton.isSelected
if toggleButton.isSelected {print("I am selected.")}
else {print("I am not selected.")}
}
答案 1 :(得分:0)
这是因为当您点击按钮时,它不会像开关那样动作。它是活跃的"并将保持这种方式。您需要检查按钮是否被选中,例如selected
,其中每次点击都会改变相反的值。然后,根据bool的状态切换图像。