我正在尝试做一些似乎非常简单的事情,并且惊讶地发现任何地方都没有帮助或类似的帖子。
我想要一个NSDatePicker
,我已经在IB中设置并绑定到属性,显示为全天和日期,如下所示:
星期日,三月6 2016
我尝试在日期选择器单元格上放置一个NSFormatter
,它似乎没有效果。无论设置如何,它始终显示为:
2016/3/12
经过大量搜索后,我将设置一个复杂的显示和隐藏控件序列,以使用NSTextfield
在其位置显示。这个想法是NSDatePicker
将仅对编辑可见。我相信这会起作用,只是无缘无故地看起来很麻烦。
是否可以在不firstResponder
时更改NSDatePicker
上的格式?了解它在编辑时需要以默认方式显示,我只是希望它在不firstResponder
时显示得更像标签。
您无法更改 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