2016-10-10 7 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

Вы действительно должны размещать свой код как редактируемый текст, так как есть проблемы с форматированием с кодом, который может привести к его сбою (например, вы объявили функцию «start2Pressed» внутри вашего viewDidLoadFunction, и это вызывает множество проблем уже. –

ответ

0

кнопка не изменяется на выбранное состояние при нажатии. Вам нужно написать код, который устанавливает выбранный флаг кнопки в true при нажатии.

Обратите внимание, что вы можете подключить несколько кнопок IBAction к кнопке, так что у вас может быть одно действие, которое устанавливает выбранный флаг в значение true, а другое, которое выполняет пользовательский «материал», поэтому вам не нужно дублировать " код шаблона ", чтобы установить выбранное состояние в IBAction каждой такой кнопки.

Смежные вопросы