2017-04-27 72 views
0

我正在使用Swift 3.我基本上使用API​​從網絡搜索圖像。我想在輸入任何單詞時向searchBar添加建議。例如,當我搜索「Sa」時,我會收到諸如「Sand」,「Samsung」,「Sail」等建議。關於如何實現這一點的任何建議?如何在iOS中搜索時顯示建議?

執行查詢後,我得到的輸出是JSON格式。

I want my Search Bar to look something like this

+0

我的tableview是建議來自你的API? – KKRocks

+0

不,我不認爲有任何建議來自我的API。 –

+0

試試這個:HTTP://www.matthewhsingleton.com/blog/2016/5/26/predictive-text-table-view-swift-version-of-ray-wenderlich – KKRocks

回答

0

有多種方式。

可以使用KeyboardAccessory。顯示鍵盤上的視圖(自動完成通常位於此處),您可以使用您喜歡的這種方式,例如添加三個按鈕,這將觸發正確建議的輸入。 Apple在這裏提供了一個例子:https://developer.apple.com/library/content/samplecode/KeyboardAccessory/Introduction/Intro.html#//apple_ref/doc/uid/DTS40009462-Intro-DontLinkElementID_2

另一種方法是在當前視圖上放置一個視圖(最有可能的表視圖),將其放置在輸入字段的正下方,或者具有固定的高度例如。 3件或直到鍵盤。對於這種方法,你可以看看這個教程:https://www.raywenderlich.com/336/auto-complete-tutorial-for-ios-how-to-auto-complete-with-custom-values

+0

這些方法中的任何一種都會顯示出有結果的單詞嗎? @ Nef10 –

+0

是的。例如。對於第二個教程:您可以在searchAutocompleteEntriesWithSubstring方法的'pastUrls'變量中放置您想要自動完成的所有單詞的列表。 – Nef10

+1

我想創建一個我想要自動完成的所有單詞的列表將不可能,因爲只有當我得到整個單詞我可以執行查詢。 –

0

嘗試這樣搜索我尋找與名字字典的陣列I顯示所有結果的搜索結果在的UISearchBar

func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) 
{ 
    let namePredicate = NSPredicate(format: "name contains[c] %@", searchText) 
    if HotelData.count > 0 
    { 
     searchData = (HotelData as NSArray).filtered(using: namePredicate) as [AnyObject] 
     tlbSearch.reloadData() 
    } 
} 
+0

我知道我必須創建一個包含SearchBar可以檢查的單詞的數組。但是我想要得到的建議是與它們相關的結果。 –

+0

@BalvanshHeerekar你需要證明它的關鍵字建議鍵盤 –

+0

@BalvanshHeerekar我看到了你的連接,如果截圖你到底設置的t​​ableview其中搜索欄的地方把最初隱藏在搜索可以顯示的tableview工作一樣,只要你想後下方 –