10

I have a static NSTextField that overlays a large error message in my OS X app. I'm trying to get it to allow the user to click controls beneath it.

In IB I've unchecked "enabled" and I've checked "Refuses First Responder"

I've also done it in code because that wasn't working:

[largeErrorText setEnabled:NO];
[largeErrorText setRefusesFirstResponder:YES];

Still, it is getting in the way of interacting with the objects below it. Any ideas what else it might be?

4

2 に答える 2

24

クリックに対してオブジェクトを透明にする唯一の方法は、そのオブジェクト (あなたの場合は NSTextField) をサブクラス化し、nil を返す hitTest メソッドをオーバーライドすることです。このようにして、NSTextField はクリックに応答しないため、下の NSView がクリックに応答します。

- (NSView*)hitTest:(NSPoint)aPoint
{
    return nil;
}
于 2014-01-11T09:48:44.663 に答える