2016-04-29 2 views
6

Я хочу установить мой переключатель, как это:UISwitch установить вкл/выкл изображения

enter image description here

Но я стараюсь в ios9, он не работает. Я видел в Apple UISwitch Class Reference. В нем говорится, что:

Обсуждение В iOS 7 это свойство не действует.

Как насчет iOS 9? Любой успех?

Мой код:

switch1 = UISwitch(frame:CGRectMake(self.view.frame.width/2 - 20, 400, 10, 100)) 
switch1.on = true 
switch1.onTintColor = UIColor.lightGrayColor() 
switch1.tintColor = UIColor.greenColor() 
switch1.thumbTintColor = UIColor.blackColor() 

// установить вкл/выкл изображения

switch1.onImage = UIImage(named: "on-switch") 
switch1.offImage = UIImage(named: "off-switch") 

ответ

15

Используйте UIButton вместо этого.

let switchButton = UIButton(type: .Custom) 
switchButton.selected = true 
switchButton.setImage(UIImage(named: "on-switch"), forState: .Selected) 
switchButton.setImage(UIImage(named: "off-switch"), forState: .Normal) 

Использование switchButton.selected вместо switch1.on. Вам нужно будет переключить switchButton.selected, когда он прослушивается (switchButton.selected = !switchButton.selected).

+0

Спасибо за это предложение! Немного обманчиво иметь UISwitch onImage и offImage в Auto Layout без предупреждения. –

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