Hi,
I've read your post and in case you did not find a solution, this worked for me:
The trick is, you need to subclass NSDatePicker first like:
@interface TT24HourTimePicker : NSDatePicker {} @end
Then put the formatter in a new init phase of the implementation, like (use
what ever format you like):
- (void)_init
{
NSLocale* my24HourLocale = [[[NSLocale alloc]
initWithLocaleIdentifier:@"uk"] autorelease];
NSDatePickerCell* cell = [self cell];
[cell setLocale:my24HourLocale];
[cell setFormatter:[[[NSDateFormatter alloc]
initWithDateFormat:@"%H:%M:%S" allowNaturalLanguage:NO] autorelease]];
[cell setTitle:@"00:00:00"];
}
...and if you want to load it in awakeFromNib call the new _init with:
- (id)initWithCoder:(NSCoder*)coder
{
self = [super initWithCoder:coder]; // NSDatePickerCell
if (!self) {
return nil;
}
// Common init
[self _init];
return self;
}
Hope this helps.
Cheers, Wilfried Bernard
On Jan 9, 2010, at 12:31 PM, [email protected] wrote:
> Hello. I have an NSDatePicker (NSTextFieldAndStepperDatePickerStyle) and I
> need it to display time in a 24-hour time mode. After reading Apple's docs
> and searching the Web, I can't seem to find a way to make this happen. I have
> attached an NSDateFormatter in IB and specified 24-hour time (HH:MM), but the
> program reverts back to a 12-hour clock. I changed my System Preferences to a
> 24 hour clock, but the NSDatePicker refuses to change. I tried a programmatic
> formatter:
>
> NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
> [dateFormatter setDateFormat:@"HH:mm"];
> [myDatePicker setFormatter:dateFormatter];
> (Also tried [[myDatePicker cell] setFormatter:dateFormatter];)
>
> In desperation, I set a loop trying every NSDatePickerElementFlags from 0 to
> 513. Have I missed something, or is a 24-hour clock not allowed? The program
> is for use in a location where 24-hour time is mandatory. Thanks for any
> insight you might have.
>
> Best Regards,
> Dan
_______________________________________________
Cocoa-dev mailing list ([email protected])
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com
This email sent to [email protected]