Eon*_*nil 23 cocoa keyboard-shortcuts
我做了一个应用程序切换到全屏模式.我想使用ESC键来转义全屏模式,但是在运行时删除IB中的绑定菜单项到ESC键.如何将ESC键绑定到菜单项?
Eon*_*nil 48
在Cocoa中处理转义键的首选方法就像@Josh Caswell说的那样.
#pragma mark - NSResponder
- (void)cancelOperation:(id)sender
{
[self exitFullScreen];
}
Run Code Online (Sandbox Code Playgroud)
pha*_*ian 10
捕获键盘事件的一种方法涉及子类化:
- (void) keyDown:(NSEvent *)theEvent到子类实现中.子类看起来像:
MySubclass.h
@interface MySubclass : NSView {
}
@end
Run Code Online (Sandbox Code Playgroud)
MySubclass.m
#import <Carbon/Carbon.h>
@implementation MySubclass
- (void)keyDown:(NSEvent *)theEvent
{
switch([theEvent keyCode]) {
case kVK_Escape:
NSLog(@"ESC");
// Call the full-screen mode method
break;
default:
[super keyDown:theEvent];
}
}
@end
Run Code Online (Sandbox Code Playgroud)
这不会将ESC键绑定到菜单项,但它确实为您提供了相同的功能(并且由于您可以拦截所有键盘事件,因此更具灵活性).
| 归档时间: |
|
| 查看次数: |
10298 次 |
| 最近记录: |