2

私は非常に単純で、どこにもヘルプや同様の投稿が見つからないことに驚いているようなことをしようとしています.

NSDatePickerIB でセットアップしてプロパティにバインドした を、次のように完全な曜日と日付として表示したい:

2016年3月6日日曜日

Date Picker Cell にa をドロップしようとNSFormatterしましたが、効果がないようです。設定に関係なく、常に次のように表示されます。

2016 年 3 月 12 日

かなりの検索を行った後、コントロールを表示および非表示にする複雑なシーケンスを設定してNSTextfield、その場所に表示するために a を使用します。NSDatePickerは、編集のためにのみ表示されるようになるという考えです。私はそれがうまくいくと確信しています、それは理由もなくとても面倒に思えます。

NSDatePickerそうでない場合にフォーマットを変更することは可能firstResponderですか? 編集時にデフォルトの方法で表示する必要があることを理解して、そうでない場合はラベルのように表示したいだけですfirstResponder

4

1 に答える 1

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
于 2016-03-14T10:41:24.430 に答える