在NSDatePicker中显示日期和日期

时间:2016-03-06 16:10:55

标签: cocoa nsdateformatter nsdatepicker

我正在尝试做一些看似非常简单的事情,并且在任何地方找不到任何帮助或类似的帖子都会感到惊讶。

我想要一个NSDatePicker,我在IB中设置并绑定到属性,以显示为完整的日期和日期,如下所示:

2016年3月6日星期日

我尝试在日期选择器单元格上放置NSFormatter,似乎没有效果。无论设置如何,它始终显示为:

2016年3月12日

经过大量搜索后,我即将设置一个复杂的序列来显示和隐藏控件,以便使用NSTextfield来显示它。我们的想法是NSDatePicker只能进行编辑。我相信这会有效,但没有任何理由它似乎很麻烦。

如果NSDatePicker不是firstResponder,是否可以更改firstResponder的格式?了解它需要在编辑时以默认方式显示,我只是希望它在MYSQLi时显示更像是标签。

1 个答案:

答案 0 :(得分:1)

您无法更改NSDatePicker的格式。我设法在NSDatePicker之上显示NSTextField。它需要NSDatePicker和NSTextField的子类。在XIB中连接它们并进行测试。

@interface MyDatePicker ()

@property (weak) IBOutlet NSTextField *textField;

@end

@implementation MyDatePicker

- (BOOL)becomeFirstResponder
{
    self.textField.hidden = YES;
    return [super becomeFirstResponder];
}

- (BOOL)resignFirstResponder
{
    self.textField.hidden = NO;
    return [super resignFirstResponder];
}

@end

@implementation MyTextField

- (NSView *)hitTest:(NSPoint)aPoint
{
    return nil;
}

@end