2009-06-11 18 views
6

Ich muss das Etikett eines UISwitch von EIN-AUS zu JA-NEIN ändern.Etikett des UISwitch ändern

Ich möchte diese Methode in einer separaten Klasse implementiert werden und dann von anderen Klassen zugegriffen werden.

Ich habe versucht, die Schnipsel in dem Kochbuch, aber ohne Erfolg

+0

Siehe http://stackoverflow.com/questions/2711180/changing-the-text-on-a-uiswitch Ich hoffe, Ihnen zu helfen, Viel Glück. – zhocker

Antwort

1

bereitgestellt implementieren können Sie Bilder Größe von 77 für on und off

@property(nonatomic, retain) UIImage *offImage; 
@property(nonatomic, retain) UIImage *onImage; 

Bild verwenden * 27

1

UISwitch verwendet Bilder zum Zeichnen. Um den Text eines UISwitch zu ändern, müssten Sie die onImage und offImage Eigenschaften des UISwitch festlegen, um Bilder mit Ihrem benutzerdefinierten Text zu verwenden. Dies könnte direkt auf einer UISwitch Instanz erfolgen, oder UIAppearance über alle UISwitch Instanzen in Ihrer App Ihr ​​eigenes Bild zu setzen mit:

[[UISwitch appearance] setOnImage:onImage]; 
[[UISwitch appearance] setOffImage:offImage]; 

Leider Einstellung Gewohnheit an und Bilder für UISwitch funktioniert nicht in iOS 7 oder später. Von der documentation:

In iOS 7 hat diese Eigenschaft keinen Effekt. In iOS 6 repräsentiert dieses Bild den inneren Inhalt des Switches. Das von Ihnen angegebene Bild wird mit dem abgerundeten Rahmen und dem Daumen des Schalters zusammengesetzt, um das endgültige Aussehen zu erzeugen.

Und es wurde nicht als veraltet markiert. In iOS 8 scheint dies leider immer noch der Fall zu sein. Anpassen der Farben eines UISwitch funktioniert immer noch, aber die Verwendung von benutzerdefinierten Bildern nicht. Um die Bilder (und damit den Text) eines Schalters anzupassen, müssen Sie eine benutzerdefinierte Steuerklasse verwenden.