2016-10-10 50 views
0

我試圖在單擊時更改按鈕的圖像,它們就像評級系統一樣是星星。點擊時圖像保持不變,點擊時不會改變。我在故事板中設置了默認圖像。根據控制狀態更改按鈕的圖像

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

+0

您應該將代碼作爲可編輯文本發佈,因爲您的代碼可能會導致代碼格式化失敗(例如,您在viewDidLoadFunction中聲明瞭函數「start2Pressed」,這會導致一系列問題已經。 –

回答

0

點擊時的按鈕不改變爲選中狀態。你需要編寫代碼,當點擊按鈕的選定標誌爲真時。

請注意,您可以將多個IBAction連接到一個按鈕,因此您可以將一個操作將所選標誌設置爲true,另一個操作可以自定義「stuff」,因此您不必重複「樣板「代碼來設置每個這種按鈕的IBAction中的選定狀態。