GMSAutocompleteTableDataSource 類別參考資料

GMSAutocompleteTableDataSource 類別參考資料

總覽

GMSAutocompleteTableDataSource 提供一個介面,能夠透過實作 UITableViewDataSource 和 UITableView 委派通訊協定,來提供地點自動完成預測,以填入 UITableView。

GMSAutocompleteTableDataSource 是用來做為 UISearchDisplayController 的資料來源。

注意:
UISearchDisplayController 已於 iOS 8 淘汰,建議將 UISearchController 與 GMSAutocompleteResultsViewController 搭配使用,以便透過 iOS 搜尋 UI 顯示自動完成結果。

GMSAutocompleteTableDataSource 例項設為 UISearchDisplayController 的 searchResultsDataSource 和 searchResults 委派 屬性。在實作 shouldReloadTableForSearchString 時,使用目前的搜尋字串呼叫 sourceTextHasChanged。

使用 GMSAutocompleteTableDataSourceDelegate 委派通訊協定,即可在清單中選擇地點時收到通知。由於自動預測功能會以非同步方式載入,因此必須在 UISearchDisplayController 的資料表檢視上導入 doUpdateAutocompletePredictions 並呼叫 restartData。

公開成員函式

(執行個體類型)- init
 初始化資料來源。
(void) - sourceTextHasChanged:
 通知資料來源,指出自動完成功能的來源文字已變更。
(void) - clearResults
 清除所有預測。

資源

IBOutlet id
< GMSAutocompleteTableDataSourceDelegate >
委派
 在選取地點或選擇取消時通知委派對象。
GMSAutocompleteFilterautocompleteFilter
 篩選出來套用至自動完成建議的項目 (可以設為 nil)。
UIColor * tableCellBackgroundColor
 表格儲存格的背景顏色。
UIColor * tableCellSeparatorColor
 表格儲存格之間的分隔線顏色。
UIColor * primaryTextColor
 自動完成結果中結果名稱文字的顏色。
UIColor * primaryTextHighlightColor
 這個顏色是用於在自動完成結果中醒目顯示相符文字。
UIColor * secondaryTextColor
 自動完成結果中第二列文字的顏色。
UIColor * tintColor
 套用至「自動完成」檢視畫面中控制項的色調顏色。
GMSPlaceFieldplaceFields
 GMSPlaceField 用於指定要求明確地點詳細資料。

成員函式說明文件

- (instancetype) init

初始化資料來源。

- (void) sourceTextHasChanged: (nullable NSString *)  文字

通知資料來源,指出自動完成功能的來源文字已變更。

這個方法只能從主執行緒呼叫。從其他執行緒呼叫此方法會導致未定義的行為。系統也會在主執行緒上呼叫 GMSAutocompleteTableDataSourceDelegate 方法。

這個方法屬於非阻塞式做法。

參數:
text要自動完成的部分文字。
- (void) clearResults

清除所有預測。

注意:
這項操作會呼叫以下兩個委派方法:
  • didUpdateAutocompletePredictionsForResultsController:
  • didRequestAutocompletePredictionsForResultsController:

實作這個方法一定會保證以同步和順序呼叫這些方法。


屬性說明文件

- (IBOutlet id<GMSAutocompleteTableDataSourceDelegate>) 委派 [read, write, assign]

在選取地點或選擇取消時通知委派對象。

- (GMSAutocompleteFilter*) autocompleteFilter [read, write, assign]

篩選出來套用至自動完成建議的項目 (可以設為 nil)。

- (UIColor*) tableCellBackgroundColor [read, write, assign]

表格儲存格的背景顏色。

- (UIColor*) tableCellSeparatorColor [read, write, assign]

表格儲存格之間的分隔線顏色。

- (UIColor*) primaryTextColor [read, write, assign]

自動完成結果中結果名稱文字的顏色。

- (UIColor*) primaryTextHighlightColor [read, write, assign]

這個顏色是用於在自動完成結果中醒目顯示相符文字。

- (UIColor*) secondaryTextColor [read, write, assign]

自動完成結果中第二列文字的顏色。

- (UIColor*) tintColor [read, write, assign]

套用至「自動完成」檢視畫面中控制項的色調顏色。

- (GMSPlaceField) placeFields [read, write, assign]

GMSPlaceField 用於指定要求明確地點詳細資料。

預設值會傳回所有可用的欄位。