objective-c – 使用转义键忽略具有单个文本字段的表单

objective-c – 使用转义键忽略具有单个文本字段的表单,第1张

概述所以这是我的设置: 一个简单的NSWindow,其中包含一个用于用户输入的NSTextField以及一个’Accept’类型的NSButton. 使用beginSheetModalForWindow:completionHandler:将窗口显示为文档窗口的工作表 当用户按下转义键时,我想关闭工作表,但是我得到的只是有趣的系统声音,告诉我它并不是真的期待那一点的转义键. 有几个类似的问题表明我们应 所以这是我的设置:

一个简单的NSWindow,其中包含一个用于用户输入的NSTextFIEld以及一个’Accept’类型的NSbutton.

使用beginSheetModalForWindow:completionHandler:将窗口显示为文档窗口的工作表

当用户按下转义键时,我想关闭工作表,但是我得到的只是有趣的系统声音,告诉我它并不是真的期待那一点的转义键.

有几个类似的问题表明我们应该在响应者链中的某处检查cancelOperation.事实上,当我在调试器中检查时,我的窗口控制器(用于工作表中的窗口/对话框)甚至不在响应器链中.

对于以上述方式显示的表格,响应者链仍然是关于我的文档窗口.奇怪的.

因此,非常感谢任何提示如何正确连接到cancelOperation或Escape键!

解决方法 由于您的工作表可以取消,您应该添加一个取消按钮,以便用户明白这种可能性.如果你这样做,并将该取消按钮的键盘快捷键设置为IB中的转义键,那么它应该是Just Work.我认为重要的是按钮的名称实际上是“取消”,但是;我记得读过AppKit根据该按钮名称在幕后做了一些特殊的胶水魔术.

顺便说一句,似乎你的窗口控制器应该在响应器链中,假设它是一个以正确方式设置的实际NSWindowController;请参阅Apple的doc here.不知道为什么调试器表明它不是,但它应该是,据我所知.如果确实不是,那可能表明您设置工作表的方式更加严重.我不确定,因为我自己没有尝试过.

总结

以上是内存溢出为你收集整理的objective-c – 使用转义键忽略具有单个文本字段的表单全部内容,希望文章能够帮你解决objective-c – 使用转义键忽略具有单个文本字段的表单所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1001098.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存