有些日子以来,我正在尝试为NSTextField
编写自动完成代码。自动完成应该是这样的,当用户点击NSTextfield时,应该在TextField下显示列表,这些可能性是可用的。在输入一个字母或数字后,列表应该刷新可能性。
此列表中的建议应来自NSMutableArray
或NSMutableDictionary
此自动完成/自动提示方法应该适用于MAC应用程序。
答案 0 :(得分:2)
只是添加@ AbcdEfg的答案,为了使NSComboBox不区分大小写,你可以对它进行子类化并覆盖它的[completedString:]方法,如下所示:
- (NSString *) completedString:(NSString *)string {
NSUInteger l = [string length];
if (!!l)
for (NSString *match in [self objectValues])
if ([[match commonPrefixWithString:string options:NSCaseInsensitiveSearch] length] == l)
return [match stringByReplacingCharactersInRange:NSMakeRange(0, l) withString:string];
return nil;
}