[英]How can I enable case insensitive autocomplete for a NSComboBox?
我已經將NSComboBox綁定到接口構建器中的數據源。 當我在NSComboBox中輸入內容時,我正確地獲得了自動完成建議。
但是,自動完成是區分大小寫的,這意味着如果角色使用了錯誤的大小寫我就不會得到建議。
如何為NSComboBox啟用不區分大小寫的自動完成,NSComboBox綁定到接口構建器中的數據源?
謝謝
您應該在NSComboBox數據源中實現comboBox:completedString:
例如:
- (NSString *)comboBox:(NSComboBox *)comboBox completedString:(NSString *)partialString
{
for (NSString dataString in dataSourceArray) {
if ([[dataString commonPrefixWithString:partialString options:NSCaseInsensitiveSearch] length] == [commonPrefixWithString:partialString length]) {
return testItem;
}
}
return @"";
}
你可以繼承NSComboBoxCell並重寫[NSComboBoxCell completedString:]。
- (NSString *)completedString:(NSString *)string
{
NSString *result = nil;
if (string == nil)
return result;
for (NSString *item in self.objectValues) {
NSString *truncatedString = [item substringToIndex:MIN(item.length, string.length)];
if ([truncatedString caseInsensitiveCompare:string] == NSOrderedSame) {
result = item;
break;
}
}
return result;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.