2016-04-29 7 views
6

ich meine Schalter wie folgt einstellen wollen:UISwitch auf Ein/Aus Bild

enter image description here

Aber ich versuche, in ios9, es funktioniert nicht. Ich sah in Apple UISwitch Class Reference. Es heißt, dass:

Diskussion In iOS 7 hat diese Eigenschaft keinen Effekt.

Wie wäre es mit iOS 9? Irgendein Erfolg?

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

// set on/off Bild

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

Antwort

15

einen UIButton stattdessen verwenden.

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

Verwenden switchButton.selected statt switch1.on. Sie müssen switchButton.selected umschalten, wenn es angetippt wird (switchButton.selected = !switchButton.selected).

+0

Danke für diesen Vorschlag! Es ist ein bisschen irreführend, die UISwitch onImage und offImage in Auto Layout ohne jede Warnung zu haben. –