我是Xcode和Cocoa / Objective-C的新手,我正在尝试实现像QInputDialog一样简单的东西,可以在整个程序中重复使用 - 每次向用户发送一条独特的消息因此启动并返回一个字符串。
我在网上搜索过并找到了多种方法,但似乎没有什么比这更清楚或更简洁 - 无论如何我都能理解。
那里有什么简单的:
...
答案 0 :(得分:-1)
输入的模态提示非常类似于Mac。这就像用板球拍击打用户的脸并大喊“告诉我现在的答案!”
正确的解决方案是将您的文本字段放入非模态窗口,以便在用户调用任何需要该值的操作时该值已准备就绪。如果用户未填写该字段并且您需要值,则会发出蜂鸣声并显示the “hey, you forgot this” icon。如果该字段在窗口中不相关,则用户从中开始操作,或者如果您将需要多个事实作为输入,则显示另一个窗口,非模态,具有自己的窗口控制器,以接收所有输入你需要采取行动。
单独的非模态窗口也将使用户能够并行填写和/或执行多个此类操作。
如果您必须使用模态对话框来请求该值,您可以而且应该make it a sheet,但您仍需要在IB或代码中从头开始构建面板及其内容。
另请参阅the Sheet Programming Guide中的the chapter on windows和the Human Interface Guidelines。