總覽
GMSAutocompleteTableDataSource 提供介面,可透過導入 UITableViewDataSource 和 UITableViewDelegate 通訊協定,提供 Place Autocomplete 預測結果,填入 UITableView。
GMSAutocompleteTableDataSource 是專為 UISearchDisplayController 使用的資料來源所設計。
- 注意:
- UISearchDisplayController 自 iOS 8 版本起已淘汰。現在,建議您搭配使用 UISearchController 與
GMSAutocompleteResultsViewController
,透過 iOS 搜尋 UI 顯示自動完成結果。
設定 GMSAutocompleteTableDataSource 的例項,做為 UISearchDisplayController 的 searchResultsDataSource 和 searchResultsDelegate 屬性。在 shouldReloadTableForSearchString 實作中,使用目前的搜尋字串呼叫 sourceTextHasChanged。
如要在清單中選取地點時通知我,請使用 GMSAutocompleteTableDataSourceDelegate
委派通訊協定。由於自動完成預測是以非同步方式載入,因此您必須在 UISearchDisplayController 的資料表檢視中實作 doUpdateAutocompletePredictions 並呼叫 restartData。
公開成員函式 | |
(instancetype) | - init |
初始化資料來源。 | |
(void) | - sourceTextHasChanged: |
通知資料來源,要自動完成的來源文字已變更。 | |
(void) | - clearResults |
清除所有預測。 | |
資源 | |
IBOutlet ID < GMSAutocompleteTableDataSourceDelegate > | 委派 |
地點選取或選好後,會收到通知的委派代表。 | |
GMSAutocompleteFilter * | autocompleteFilter |
套用至自動完成建議建議的篩選器 (可以是空值)。 | |
UIColor * | tableCellBackgroundColor |
表格儲存格的背景顏色。 | |
UIColor * | tableCellSeparatorColor |
表格儲存格之間的分隔線顏色。 | |
UIColor * | primaryTextColor |
自動完成結果中結果名稱文字的顏色。 | |
UIColor * | primaryTextHighlightColor |
系統會在自動完成結果中用來醒目顯示相符文字的顏色。 | |
UIColor * | secondaryTextColor |
自動完成結果中第二列文字的顏色。 | |
UIColor * | tintColor |
自動完成檢視中套用至控制項的色調顏色。 | |
GMSPlaceField | placeFields |
用於指定要求明確地點詳細資料的 GMSPlaceField 。 | |
NSArray< GMSPlaceProperty > * | placeProperties |
用於指定要求明確地點詳細資料的 GMSPlaceProperty 。 |
成員函式說明文件
- (執行個體類型) init |
初始化資料來源。
- (void) sourceTextHasChanged: | (nullable NSString *) | 文字 |
通知資料來源,要自動完成的來源文字已變更。
這個方法只能從主執行緒呼叫。若是從其他執行緒呼叫此方法,將產生未定義的行為。呼叫 GMSAutocompleteTableDataSourceDelegate
方法時也會透過主執行緒呼叫。
這是非封鎖式方法。
- 參數:
-
text 要自動完成的部分文字。
- (void) clearResults |
清除所有預測。
- 注意:
- 這會呼叫下列兩個委派方法:
didUpdateAutocompletePredictionsForResultsController:
didRequestAutocompletePredictionsForResultsController:
這個方法的實作保證能夠同步且依序呼叫這些方法。
資源說明文件
- (IBOutlet id<GMSAutocompleteTableDataSourceDelegate>) 委派 [read, write, assign] |
地點選取或選好後,會收到通知的委派代表。
- (GMSAutocompleteFilter*) autocompleteFilter [read, write, assign] |
套用至自動完成建議建議的篩選器 (可以是空值)。
- (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
。
預設會傳回所有可用欄位。
- (NSArray<GMSPlaceProperty>*) placeProperties [read, write, assign] |
用於指定要求明確地點詳細資料的 GMSPlaceProperty
。
預設會傳回所有可用的屬性。