切换按钮自定义图片

时间:2018-02-26 02:50:04

标签: swift image button uibutton

我是编码和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.")}
}

2 个答案:

答案 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的状态切换图像。