0

我做了一个小可可应用程序,如果你按下设置按钮,它会调出一个 IKPictureTaker 并将图片保存到文件中。目前,如果您按 esc 或 Command 。窗口拍照器将关闭。有没有办法禁用这种行为?

4

3 回答 3

2

您需要及时将自己插入响应者链中的某个位置以捕获退出键按下事件并禁用它。您可能需要子类化IKPictureTaker. 下面的代码片段应该对您有所帮助(来源)。

- (void)keyDown:(NSEvent *)event {
   if ([event keyCode] == 53) {
        NSLog(@"Escape has been pressed");
   }
}
于 2009-11-26T02:52:16.747 回答
2

另一种方法是隐藏关闭和取消按钮,这样它们就不能被按下:

IKPictureTaker *taker = [IKPictureTaker pictureTaker];
[接受者 setStyleMask:0]; //禁用关闭按钮
for(NSView *aView in [[taker contentView] subviews]){
 if([aView isKindOfClass:[NSButton 类]]){
  NSButton *aButton = (NSButton*)aView;
  if([aButton action] == @selector(cancelButton:))
   [aButton setHidden:YES];
 }
}
于 2009-12-08T10:35:06.403 回答
0

如果您想要/需要下拉到低级别,请参阅 CGEvent API。使用它,您将创建一个水龙头并吞下/修改特定事件。

于 2009-12-08T09:38:30.587 回答