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