cocoa + 我应该使用什么 ui 元素?

标签 cocoa user-interface

我正在开发一个具有文本字段框的应用程序。所以当我输入文本时,它应该像谷歌搜索一样搜索数据库并给我建议。就像如果我输入了字母“a”,它应该在文本字段下方有一个类似框的东西,其中所有名称都以字母“a”开头。然后,如果我输入了字母“b”,它应该调整框的大小并给出以“ab”开头的名称,依此类推。

我计划在文本字段下方使用表格 View ,当新内容输入文本字段时,该表格 View 会重新加载。但我不知道如何根据建议的数量调整表格 View 的大小。那么还有其他适合这种情况的ui元素吗?

另外,我如何检测输入到文本字段中的新字母或数字,以便我可以过滤掉建议,例如是否有此类通知?我的意思是说我输入了字母“a”,所以现在文本字段的字符串值为“a”,现在我输入了“b”。所以现在字符串值更改为“ab”。我如何检测到这个?我认为 textDidChange 通知将为我做到这一点。

谢谢

最佳答案

您可以使用 NSComboBox 来自动完成您所描述的列表。 NSComboBox 是 NSControl 的子类,因此您可以使用 -controlTextDidChange: 委托(delegate)方法来检测用户键入的文本中的更改。确保在 Interface Builder 中将控件设置为“连续”或调用 [comboBox setContinously:YES]。

关于cocoa + 我应该使用什么 ui 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1435921/

相关文章:

iOS浏览器编程技术

cocoa - NSTableView 按 "space"选择行

Objective-C:继承 protected /私有(private)原子属性

java - 在 Matlab 中从 Java GUI 调用 2 个类

需要 Java swing 帮助

cocoa - 使用 Objective-C 进行字符串操作

objective-c - Cocoa API - 它是否包含 diff api?

Java - 直观地拖动 Swing 元素

java - 如何使用Java将用户提供的图片保存到数据库

user-interface - Angular 计数未更新