Facebookのような検索インターフェイスを作成しようとしています。つまり、名前の全部または一部を入力すると、一致するものが下のリストに表示されます。実行時にguiのリストを表示するには
私はInputField(SearchBar)から入力を抽出する方法を知っていますが、実行時に下のパネルに一致する結果を表示する方法がわかりません。
各マッチに新しいラベル/ボタンを作成し、パネルに追加しますか? 私はどんな容器を使うべきですか? 実際にどのように追加/追加するのですか?
ご協力いただければ幸いです。ここで
は私のシーンです:
そしてここでは私のコードです:
using UnityEngine;
using UnityEngine.UI;
using System;
public class SearchScript : MonoBehaviour {
public InputField SearchBar;
public GameObject Panel;
public List<String> myList;
public void Start() {
myList = new List <String>();
myList.Add("Andre");
myList.Add("Angela");
myList.Add("Temi");
myList.Add("Tupac");
myList.Add("Graham");
myList.Add("Grandpa");
myList.Add("Michael");
myList.Add("Miguel");
SearchBar.onValueChanged.AddListener(delegate {ValueChangeCheck(myList); });
}
public void ValueChangeCheck(List<string> myList) {
string contents = SearchBar.text;
List<String> outList = new List <String>();
for (int i = 0; i < myList.Count; i++) {
if (myList [i].Contains (contents)) {
outList.Add (myList [i]);
}
}
for (int i = 0; i < outList.Count; i++) {
>>HELP<<
}
}
}
これは大変役立ちました。もし私が尋ねることができるのであれば、検索バーのエントリが変更されたときに、どのようにボタンを破壊することをお勧めしますか? –
あなたのオブジェクトにどこかに保存するループの 'List'にボタンを追加します。おそらくプライベートフィールドです。後でボタンを破棄したいときにリストを反復し、その中の各ボタンを破棄し、リストを '.Clear()'します。 –
Brien