2016-04-29 17 views
6

voglio impostare il mio interruttore in questo modo:UISwitch set on/off immagine

enter image description here

ma ci provo in ios9, non funziona. Ho visto in Apple Riferimento di classe UISwitch. Si dice che:

Discussione In iOS 7, questa proprietà non ha alcun effetto.

E a proposito di iOS 9? Qualche successo?

My Code:

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() 

// imposta on/off immagine

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

risposta

15

Utilizzare un UIButton invece.

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

Uso switchButton.selected invece di switch1.on. Dovrai attivare switchButton.selected quando viene toccato (switchButton.selected = !switchButton.selected).

+0

Grazie per questo suggerimento! È un po 'fuorviante avere l'UISwitch su Image e OffImage in Auto Layout, senza alcun avviso. –