gpt4 book ai didi

objective-c - 在 Cocoa/objective-c 中单击 Target 时,操作会被调用两次(鼠标向上/向下)

转载 作者:行者123 更新时间:2023-12-03 16:59:37 24 4
gpt4 key购买 nike

我有一个 NSDatePicker (目标)和 datePickerAction (操作)

- (IBAction)datePickerAction:(id)sender
{

if( [[[NSApplication sharedApplication] currentEvent] modifierFlags] &
NSShiftKeyMask )
NSLog(@"shift pressed %@", [datePicker dateValue]);

else
NSLog(@"hello %@", [datePicker dateValue]);

}

当我单击 NSDatePicker 对象中的日期时,方法(操作)被调用,问题是该方法被调用两次 - 鼠标向下/向上。

我可以让该方法只调用一次(向上或向下)吗?

编辑

我只有要选择的方法。

enter image description here

这是连接检查器。 enter image description here

最佳答案

不幸的是,我认为您无法在 Interface Builder 中以这种方式设置 NSDatePicker (具体来说,是 NSDatePickerCell),而必须以编程方式进行设置。

这是一个对我来说效果很好的解决方法:

- (void)awakeFromNib
{
// Assuming @property (assign) IBOutlet NSDatePickerCell *pickerCell;
[self.pickerCell sendActionOn:NSLeftMouseDown]; // or NSLeftMouseUp or what have you...
}

请注意,您不能在这里使用NSLeftMouseDownMask! (嗯,当然你可以......但这没有帮助。)

关于objective-c - 在 Cocoa/objective-c 中单击 Target 时,操作会被调用两次(鼠标向上/向下),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5303076/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com