根据控件状态更改按钮的图像

时间:2016-10-10 22:06:36

标签: ios xcode uibutton uiimage swift3

我试图在点击时更改按钮的图像,它们就像评级系统一样。单击时,图像保持不变,单击时不会更改。我在故事板中设置了默认图像。

class DetailViewController: UIViewController {

    @IBOutlet weak var detailTitleViewLbl: UILabel!        
    @IBOutlet weak var detailDescription: UILabel!

    @IBOutlet weak var yearLabel: UILabel!

    @IBOutlet weak var star1: UIButton!
    @IBOutlet weak var star2: UIButton!
    @IBOutlet weak var star3: UIButton!
    @IBOutlet weak var star4: UIButton!
    @IBOutlet weak var star5: UIButton!

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
    }

    @IBAction func star1Pressed() {
        star1.setImage(#imageLiteral(resourceName: "favorite (1).png"), for: UIControlState.selected)
    }

    func star2Pressed() {}
    func star3pressed() {}
    func star4pressed() {}

}

enter image description here

1 个答案:

答案 0 :(得分:0)

单击时按钮不会更改为选定状态。您需要编写代码,在单击按钮时将其选中的标志设置为true。

请注意,您可以将多个IBAction连接到一个按钮,因此您可以使用一个操作将所选标志设置为true,另一个操作将自定义“stuff”设置为true,这样您就不必复制“样板” “用于在每个此类按钮的IBAction中设置所选状态的代码。