2015-08-02 3 views
0

Я разрабатываю приложение iOS с помощью приложения Smartface App Studio. Мне нужно выполнить поиск с автоматическим завершением. Может ли кто-нибудь предложить достичь этого. Ex: Если пользователь вводит «Ho», то список мест начинается с «Ho», как «Holland», «Hong Kong» должен показывать как предложения (при наборе текста).Как реализовать автоматическое завершение в Smartface App Studio

Я пробовал с помощью pick() и метки на странице. Но это работает как выпадающее меню.

Заранее спасибо.

ответ

0

После много работы, я сделал свою автозаполненную функциональность. Вот код.

function PrepareAutoComplete(page, pageName) { 
try { 
var label_for_repeatbox = new SMF.UI.Label({ 
height : '100%', 
width : '100%', 
horizontalGap : 10, 
left : '0%', 
top : '0%', 
fontColor : SMF.UI.Color.black, 
backgroundTransparent : true 
}); 
var rBox = new SMF.UI.RepeatBox({ 
name : 'rptDestinations', 
width : '100%', 
height : '90%', 
left : Pages.PlacesToGo.edtBoxSelectDestination.left, 
top : Pages.PlacesToGo.edtBoxSelectDestination.top + Pages.PlacesToGo.edtBoxSelectDestination.height + 1, 
borderWidth : 1, 
dataSource : [], 
showScrollbar : true, 
onRowRender : function onRowRender(e) { 
this.controls[0].text = e.rowData; 
}, 
itemTemplate : { 
height : '10%' 
} 
}); 
label_for_repeatbox.onTouchEnded = function (e) { 
alert(this.text); 
} 
rBox.useActiveItem = true; 
rBox.visible = false; 
rBox.itemTemplate.add(label_for_repeatbox); 
Pages.PlacesToGo.edtBoxSelectDestination.onChange = function (e) { 
if (this.text.length > 1 && isFirstTime == false) { 
var search_key = this.text.toLowerCase(); 
var results = []; 
for (var i = 0; i < Sources.length; i++) { 
if (Sources[i].toLowerCase().indexOf(search_key) == 0) { 
results.push(Sources.[i]); 
} 
} 
rBox.dataSource = results; 
rBox.refresh(); 
page.remove(rBox); 
page.add(rBox); 
rBox.visible = true; 
} 
} 
Pages.PlacesToGo.edtBoxSelectDestination.onExit = function() { 
rBox.dataSource = []; 
rBox.refresh(); 
rBox.visible = false; 
} 
page.add(rBox); 
} catch (ex) { 
log(ex); 
} 
} 
Смежные вопросы