Ändern Sie die Farbe des UISwitch appwise
Frage
Ich bin mit UISwitch
in iOS 3 wechseln element in meiner app.Es hat Standard-Farbpalette blau, aber ich ändern möchten die Farbe in Braun.
Wie kann ich wählen Sie eine andere Farbe für die UISwitch
element in iOS 3?
Wie kann ich wählen Sie eine andere Farbe für die UISwitch
element in einer modernen iOS-app (iOS 5+)?
Lösung
Für eine moderne iOS XX Version überspringt die Antwort, wie es null Relevanz hat in letzter Zeit. Immer noch hier? In iOS 3. Sie können es nicht. Aber Sie wissen ... Leute landen hier wegen Rang und Kommentare, die andere Versionen und Sachen so ...
Die fünfte iOS Version ermöglicht nun eine dokumentierte Art und Weise, dies zu tun. Mit der Eigenschaft onTintColor
UISwitch *s = [[UISwitch alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
s.on = YES;
s.onTintColor = [UIColor redColor];
[self.view addSubview:s];
[s release];
produzieren diese
Edit: Ich habe keine Ahnung, warum jemand kommen würde, durch und rollen wieder die Antwort nur auf die Frage zu beschränken, während nicht das gleiche für alle Antworten zu tun
.Bearbeiten mehr: In iOS 3 hatten Sie einige undokumentierte Funktion zu nutzen. Früher gab es hier einen Link zu dieser sein aber es brach. Und wenn Sie getan haben, dass Ihr App möglicherweise wegen des Farbwechsel abgelehnt bekommen.
Es Art beginnt mit diesem, das sollte genug sein, damit Sie es woanders finden:
UISwitch *aSwitch = [[UISwitch alloc] initWithFrame:someRectangle];
[aSwitch setAlternateColors:YES];
//Do something with aSwitch
[aSwitch release];
Ich kann es nicht empfehlen. Und das abwechselnd aus unbeliebt.
Andere Tipps
Schließlich mit iOS 5 können Sie die Farbe des Schalters mit der Eigenschaft onTintColor
ändern können.
UISwitch *s = [[UISwitch alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
s.on = YES;
s.onTintColor = [UIColor redColor];
[self.view addSubview:s];
[s release];
erzeugt diese:
Für eine globale Änderung für alle UISwitch Elemente in Swift 3, verwenden Sie das Aussehen proxy:
UISwitch.appearance().onTintColor = UIColor.brown
unter der AppDelegate application:didFinishLaunchingWithOptions:
Methode.
Zur Zeit werden Sie Textwerte von Ein / Aus oder 0/1 für eine UISwitch begrenzt. Sie können mit Farbton der Farbe anpassen. Für die weitere Anpassung würde ich so etwas vorschlagen, was oben geht mit einer komplett kundenspezifische Lösung gepostet
ex. [mySwitch setOnTintColor:[UIColor colorWithRed:0 green:175.0/255.0 blue:176.0/255.0 alpha:1.0]];
Quelle: http://www.raywenderlich.com/ 4344 / User-Interface-Anpassung-in-ios-5
EDIT: Für iOS3, Sie auf eine benutzerdefinierte implimentation begrenzt sind, würde ich mit eigenen Bildern Vertauschen zweier Tasten vor. In späteren iOS-Versionen werden Sie viel mehr Kontrolle und gebaut in Individualisierungsmöglichkeiten gegeben.
Werfen Sie einen Blick auf die custom UISwitch-Steuerelement, das ich gebaut habe, mir zu erlauben, ändern Sie die Hintergrundfarbe des Steuerelements.Sie könnte verwenden die gleiche Methode, um den text zu ändern, die schriftart oder die Farbe des Textes sehr einfach.
http://www.homick.com/posts/custom-uiswitch-control
Der code ist verfügbar auf GitHub und beinhaltet eine PSD -, die verwendet wird, um den Bau von drei verschiedenen PNG Dateien, die vom Steuerelement verwendet.Sie können ändern Sie den Inhalt der psd-Datei so erstellen Sie die PNG-Dateien im beliebigen format Sie möchten.Swap diese in der Steuerung und gehen Sie Weg.
Dies gibt viel mehr Optionen als nur orange und blau.
Für Swift 3:
var mySwitch : UISwitch = ...
mySwitch.onTintColor = UIColor.blue