2015-03-23 3 views
17

Ist es möglich, Textfarbe von Datepicker in iOS8 zu ändern? Ich habe, dass es in iOS7 und vorher nicht möglich ist, etwas in der 8. Version geändert?Ändern der Textfarbe von Datepicker

Zum Beispiel habe ich modifizierten Picker in Yahoo Weather gefunden!

enter image description here

+1

Nun, Sie sind eigentlich nicht, um sie anzupassen. :-) Wette du könntest wenn du das wirklich willst. – clearlight

Antwort

10

Gefunden Lösung bei comments von Stackoverflow. Wenn Sie nur brauchen, ändern Sie die Textfarbe in Ihre und weisen Sie diese Unterklasse Ihrem Picker zu. Für whiteColor funktioniert wie Magie.

Nur minus ich habe gefunden, dass Farbe zwei Zeilen der ausgewählten Nummer immer noch grau ist.

class ColoredDatePicker: UIDatePicker { 
    var changed = false 
    override func addSubview(view: UIView) { 
     if !changed { 
      changed = true 
      self.setValue(UIColor.whiteColor(), forKey: "textColor") 
     } 
     super.addSubview(view) 
    } 
} 
+1

Das "einzige Minus"? Alles, was nicht perfekt aussieht, ist ein * riesiges * Minus für anspruchsvolle Apps und Kunden. Es wird von Apple * noch nicht * ausreichend unterstützt *. – clearlight

36

noch funktioniert, Swift 4 Update

datePicker.setValue(UIColor.white, forKeyPath: "textColor") 

Dies funktioniert für mich.

datePicker.setValue(UIColor.whiteColor(), forKeyPath: "textColor") 
+0

[datePicker setValue: [UIColor whiteColor] für KeyPath: @ "textColor"]; - in Objective-C –

+3

Ich tat dies, aber das aktuelle Datum ist immer noch schwarze Farbe. Irgendeine Idee was kann ich stattdessen tun? –

+2

Ich hatte das gleiche Problem ... es ändert alle anderen Daten außer dem aktuellen. – Greg

12

I Textfarbe durch Inspektor geändert haben (siehe unten)

enter image description here

+0

Danke! Das ist, was ich gesucht habe. – deinier

+0

Danke, ich wusste nicht, dass du das im Storyboard machen kannst. Es wird für viele Situationen nützlich sein. – Michael

+0

Das ist sehr cool! Lerne jeden Tag etwas Neues. –

10

Wenn Sie den ausgewählten Text am Anfang sein schwarz nicht möchten, dass Sie sowohl Textfarbe und highlightsToday festlegen müssen :

enter image description here

+0

Danke für das Speichern meiner Zeit –

5

Es auf iOS funktioniert 10 nur, wenn beide Eigenschaften festgelegt.

datePicker.setValue(UIColor.white, forKeyPath: "textColor") 
datePicker.setValue(false, forKeyPath: "highlightsToday")