Search code examples
iosobjective-cfontscolorsuidatepicker

Change UIDatePicker font color?


All I want to do is change the font color of the UIDatePicker. I've researched other questions but they're all involving changing other properties and customizing the entire look. All I want to do is just change the font color from black to white. I find it hard to believe that I can't do such a seemingly simple task. And why wouldn't the tint color affect it? Does it even do anything?


Solution

  • All I need (on iOS 8.x and 9.0) is this one line to change the font color:

            [my_date_picker setValue:[UIColor whiteColor] forKey:@"textColor"];
    

    No subclassing or invoking of private APIs...


    Note: today's current date will still be highlighted (in newer iOS versions). You can get around this by using the following code:

    if ([my_date_picker respondsToSelector:sel_registerName("setHighlightsToday:")]) {
    
    #pragma clang diagnostic push
    #pragma clang diagnostic ignored "-Wundeclared-selector"
    
            [my_date_picker performSelector:@selector(setHighlightsToday:) withObject:[NSNumber numberWithBool:NO]];
    
    #pragma clang diagnostic pop
    
    }