我有一个NSDatePicker(目标)和datePickerAction(动作)
- (IBAction)datePickerAction:(id)sender
{
if( [[[NSApplication sharedApplication] currentEvent] modifierFlags] &
NSShiftKeyMask )
NSLog(@"shift pressed %@", [datePicker dateValue]);
else
NSLog(@"hello %@", [datePicker dateValue]);
}
当我单击NSDatePicker对象中的日期时,它的工作原理很好,方法(操作)被调用,问题是方法被调用了两次-鼠标向下/向上。
我可以仅一次(向上或向下)调用该方法吗?
编辑
我只有要选择的方法。
这是连接检查器。
最佳答案
不幸的是,我认为您不能在Interface Builder中以这种方式设置NSDatePicker
(或NSDatePickerCell
,具体而言),而必须以编程方式进行设置。
这是一个对我来说很好的解决方法:
- (void)awakeFromNib
{
// Assuming @property (assign) IBOutlet NSDatePickerCell *pickerCell;
[self.pickerCell sendActionOn:NSLeftMouseDown]; // or NSLeftMouseUp or what have you...
}
请注意,您不能在此处使用
NSLeftMouseDownMask
! (当然,您可以...但无济于事。)