objective-c - QInputDialog 类似于 Cocoa/Xcode 中的东西?

标签 objective-c cocoa string input window

我对 Xcode 和 Cocoa/Objective-C 相当陌生,我正在尝试实现像 QInputDialog 这样简单的东西,它可以在整个程序中重复使用 - 每次都会向用户发送唯一的消息启动并返回一个字符串作为结果。

我在网上搜索并找到了多种方法,但似乎没有什么是非常清晰或简洁的 - 无论如何都足以让我理解。

有没有像这样简单的事情:

  • 通过方法创建/启动一个窗口,并以字符串的形式向用户提供新的消息标签。
  • 有一个 NSTextField 来接收用户输入。
  • 关闭窗口并将文本字段中的字符串(如果接受)返回到调用方法。

??

最佳答案

模态输入提示与 Mac 非常不一样。这就像用板球棒砸碎用户的脸并大喊“现在告诉我答案!”

正确的解决方案是将文本字段放入非模态窗口中,以便当用户调用需要该值的任何操作时该值已经准备好。蜂鸣并显示 the “hey, you forgot this” icon如果用户尚未填写该字段并且您需要在那里输入一个值。如果该字段与用户启动操作的窗口不相关,或者如果您需要多个事实作为输入,则以非模态方式显示另一个窗口,并带有自己的窗口 Controller ,以接收所有输入您需要执行该操作。

单独的非模式窗口还将使用户能够并行填写和/或执行多个此类操作。

如果您必须通过模式对话框请求该值,您可以而且应该make it a sheet ,但您仍然需要在 IB 或代码中从头开始构建面板及其内容。

另请参阅the Sheet Programming Guidethe chapter on windowsthe Human Interface Guidelines .

关于objective-c - QInputDialog 类似于 Cocoa/Xcode 中的东西?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5268845/

相关文章:

iPhone:推送通知后如何删除徽章?

ios - 如何获取iOS设备屏幕的高度和宽度

objective-c - 如何将 C 风格的 char* 数组转换为 NSArray?

c++ - C++ 中有多少种字符串类型?

c++ - 如何反转单个单词?

javascript - 我如何混淆 JavaScript 中的字符串?

objective-c - 在 iOS 应用程序中存储常量的最佳位置在哪里?

ios - 以前的 NSDictionary 现在到 JSON 数组

objective-c - 全局隐藏光标(来自后台应用程序)

cocoa - Cocoa 中类之间的协调