有没有办法将鼠标事件添加到 Interface Builder 中的 Action?
Is there a way to add the mouse event to an Action in Interface Builder?
有没有办法将鼠标事件添加到 Interface Builder 中的操作?
目前在我的 ViewController.h 我有这个:
- (IBAction)myStepperAction:(id)sender;
在我的 ViewController.m 我有这个:
- (IBAction)myStepperAction:(id)sender { }
在我的事件处理程序中,我有以下内容:
(我正在使用 C#,但我可以阅读一些 Swift)
partial void myStepperAction(Foundation.NSObject sender) {
var stepper = sender as NSStepper;
}
如果我添加第二个参数,我会得到一个错误:
partial void myStepperAction(Foundation.NSObject sender, Event event) {
var stepper = sender as NSStepper;
var value = event.CTRLKey==true ? stepper.DoubleValue + 10 : stepper.DoubleValue;
}
CS0759: No defining declaration found for implementing declaration of
partial method 'ViewController.myStepperAction(NSObject, EventArgs)'
有没有办法将事件传递给分部方法?或者有没有办法获取应用程序鼠标事件?
我想做的是当点击步进器时,检查是否也按下了 CTRL 或 SHIFT 键,使其递增 10 而不是 1。
您可以使用CGEventSourceKeyState来检测当前是否按下了特定的键。
您可以在 link 中找到 control
的确切数字。
应该是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;
}
有没有办法将鼠标事件添加到 Interface Builder 中的操作?
目前在我的 ViewController.h 我有这个:
- (IBAction)myStepperAction:(id)sender;
在我的 ViewController.m 我有这个:
- (IBAction)myStepperAction:(id)sender { }
在我的事件处理程序中,我有以下内容: (我正在使用 C#,但我可以阅读一些 Swift)
partial void myStepperAction(Foundation.NSObject sender) {
var stepper = sender as NSStepper;
}
如果我添加第二个参数,我会得到一个错误:
partial void myStepperAction(Foundation.NSObject sender, Event event) {
var stepper = sender as NSStepper;
var value = event.CTRLKey==true ? stepper.DoubleValue + 10 : stepper.DoubleValue;
}
CS0759: No defining declaration found for implementing declaration of partial method 'ViewController.myStepperAction(NSObject, EventArgs)'
有没有办法将事件传递给分部方法?或者有没有办法获取应用程序鼠标事件?
我想做的是当点击步进器时,检查是否也按下了 CTRL 或 SHIFT 键,使其递增 10 而不是 1。
您可以使用CGEventSourceKeyState来检测当前是否按下了特定的键。
您可以在 link 中找到 control
的确切数字。
应该是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;
}