Swift 有没有办法将鼠标事件添加到Interface Builder中的操作中?
有没有办法将鼠标事件添加到Interface Builder中的操作中 当前在我的ViewController.h中,我有:Swift 有没有办法将鼠标事件添加到Interface Builder中的操作中?,swift,xcode,xamarin,interface-builder,Swift,Xcode,Xamarin,Interface Builder,有没有办法将鼠标事件添加到Interface Builder中的操作中 当前在我的ViewController.h中,我有: - (IBAction)myStepperAction:(id)sender; - (IBAction)myStepperAction:(id)sender { } 在我的ViewController.m中,我有: - (IBAction)myStepperAction:(id)sender; - (IBAction)myStepperAction:(id)send
- (IBAction)myStepperAction:(id)sender;
- (IBAction)myStepperAction:(id)sender { }
在我的ViewController.m中,我有:
- (IBAction)myStepperAction:(id)sender;
- (IBAction)myStepperAction:(id)sender { }
在我的事件处理程序中,我有以下内容:
(我在用C#但我能读一些Swift)
如果添加第二个参数,则会出现错误:
partial void myStepperAction(Foundation.NSObject sender, Event event) {
var stepper = sender as NSStepper;
var value = event.CTRLKey==true ? stepper.DoubleValue + 10 : stepper.DoubleValue;
}
CS0759:未找到用于执行声明的定义声明
分部方法“ViewController.myStepperAction(NSObject,EventArgs)”
是否有方法将事件传递给分部方法?或者有没有办法获取应用程序鼠标事件
我想做的是,单击步进器时,检查是否同时按下CTRL或SHIFT键,使其增量为10而不是1。您可以使用来检测当前是否按下了特定键
您可以在这里找到控件
的确切数字
它应该是0x3B
检查下面Xamarin中使用的代码
partial void myStepperAction(Foundation.NSObject sender) {
var stepper = sender as NSStepper;
bool isCtrlPressed = CGEventSource.GetKeyState(0,0x3b);
var value = isCtrlPressed ? stepper.DoubleValue + 10 : stepper.DoubleValue;
}
如果我理解正确,您是否希望在直接单击步进机时将值增加1,并在按CTRL或SHIFT键单击步进机时将值增加10?@ColeX MSFT这是正确的,这非常有效。您是否知道用户是否按下了向上或向下按钮?只需在我提供的链接中找到代码,向上和向下按钮的代码是
0x7E
和0x7D
。我没有完全了解。我指的是步进机上的按钮。我为这个问题单独提出了一个问题。好的,我会用那条线索回答。