在OSX上用鼠标点击视图时如何防止焦点窗口?

时间:2013-09-04 13:18:50

标签: macos cocoa window focus

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

3 个答案:

答案 0 :(得分:2)

我终于找到了解决方案!

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

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

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

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

答案 1 :(得分:0)

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

-(BOOL)acceptsFirstResponder
-(BOOL)becomeFirstResponder

答案 2 :(得分:0)

在Interface Builder中选择表视图。有一个“聚焦环”属性,将其更改为“无”。 我在Scroll View,Clip View和Table View中设置了所有这些属性。

希望有所帮助。