objective-c - NSTextField 点击率?

标签 objective-c macos cocoa interface-builder

我有一个静态 NSTextField,它在我的 OS X 应用程序中覆盖了一条大错误消息。我试图让它允许用户单击它下面的控件。

在 IB 中,我取消选中“启用”并选中“拒绝第一响应者”

我也在代码中完成了它,因为它不起作用:

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

尽管如此,它仍会妨碍与其下方的对象进行交互。有什么想法吗?

最佳答案

我发现使对象对单击透明的唯一方法是对该对象(在您的情况下为 NSTextField)进行子类化并覆盖返回 nil 的 hitTest 方法。这样 NSTextField 将不会响应点击,因此下面的 NSView 将响应点击。

- (NSView*)hitTest:(NSPoint)aPoint
{
    return nil;
}

关于objective-c - NSTextField 点击率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15891098/

相关文章:

objective-c - 将 NSTableView 绑定(bind)到 NSUserDefaults : Mutable! 中的数组

ios - 决定使用核心数据或 NSUserDefaults

cocoa - 如何让基于 NSDocument 的应用程序打开文件夹,但将关联的文档保存到应用程序支持?

macos - MonoMac 恢复应用程序图标更改

c++ - libtiff.3.dylib : unknown required load command 0x80000022

objective-c - MacOSX 10.8,xcode 4.6.1 错误 cocoa : "Color type user defined runtime attributes on OS X versions prior to 10.7"

objective-c - NSUserDefaults,也是创造本地值(value)的好做法吗?

ios - 从选项卡栏中的应用程序委托(delegate)推送 View Controller

objective-c - OSX - 使用多个表格 View - 如何检查单元格越界

macos - 如何更改 CIFilter CIQRCodeGenerator 过滤器的背景色和前景色