objective-c - 如何在没有标题栏的模态窗口中强制键盘焦点

标签 objective-c cocoa

我想运行一个类似于 Finder 转到文件夹的简单对话框。

我使用 NSPanel 制作了此文档模式并使用 runModal 运行。 这有效,但显示标题。

如果我关闭标题栏(在 IB 中),按钮可以工作,但 NSTextField 不会获得键盘焦点。 我尝试了很多技术使其成为firstResponder或设置为key,setBecomesKeyOnlyIfNeeded:NO但无济于事。

最佳答案

您需要子类化NSWindow,覆盖- (BOOL)canBecomeKeyWindow并返回YES

默认情况下,无边框窗口不能成为关键窗口。

关于objective-c - 如何在没有标题栏的模态窗口中强制键盘焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10184502/

相关文章:

ios - 存折集成 iOS(动态)

ios - 我是 Storyboard中的 5 个 Controller ,如何以编程方式返回官方初始 Controller ?

cocoa - 强制 NSBrowser 重新加载

objective-c - 在 Cocoa 中从 WebView 制作跨域 XMLHttpRequest

image - 带图像的 NSButton - 如何获取图像 subview ?

cocoa - 如何自动选择插入到 NSOutlineView 和 Core Data 中的项目

ios - 在新的运行时中使用 objc_msgSend 而无需强制转换的替代方法

iphone - 自定义 UITableViewCell 出错

iphone - 为什么要使用 NSOperationQueue?

iphone - 在 objective-c 中捏合放大和缩小