1

我正在编写一个 Cocoa 应用程序,不希望它专注于鼠标单击它,但我发现没有办法实现。任何人都可以给我建议吗?

4

3 回答 3

4

我终于找到了解决办法!

创建 NSView 的子类,并重新实现以下方法:

-(BOOL) shouldDelayWindowOrderingForEvent:(NSEvent *)theEvent
{
    return YES;
}

-(void) mouseDown:(NSEvent *)theEvent
{
    [NSApp preventWindowOrdering];
}

并设置创建的 NSWindow 的 contentView 属性,并将窗口样式掩码设置为 NSBorderlessWindowMask ,它可以工作。

于 2013-11-27T12:04:34.680 回答
1

您可以在子类中覆盖返回 NO 的方法

-(BOOL)acceptsFirstResponder
-(BOOL)becomeFirstResponder
于 2013-09-05T13:21:25.367 回答
0

在 Interface Builder 中选择表视图。有一个“对焦环”属性,将其更改为“无”。我在滚动视图、剪辑视图和表格视图中设置了所有这些属性。

希望它有所帮助。

于 2013-11-05T06:21:44.033 回答