概览
GMSAutocompleteTableDataSource提供了一个接口,通过实现 UITableViewDataSource 和 UITableViewDelegate 协议来提供地点自动补全预测结果,从而填充 UITableView。
GMSAutocompleteTableDataSource可用作 UISearchDisplayController 的数据源。
- 注意:
- 自 iOS 8 起,UISearchDisplayController 已被废弃。现在,建议将 UISearchController 与
GMSAutocompleteResultsViewController
搭配使用,以便使用 iOS 搜索界面显示自动补全结果。
将 GMSAutocompleteTableDataSource 的实例设置为 UISearchDisplayController 的 searchResultsDataSource 和 searchResultsDelegate 属性。在您的 shouldReloadTableForSearchString 实现中,使用当前搜索字符串调用 sourceTextHasChanged。
使用 GMSAutocompleteTableDataSourceDelegate
委托协议,以便在用户从列表中选择某个地点时收到通知。由于自动补全预测结果是异步加载的,因此必须实现 DidUpdateAutocompletePredictions 并在 UISearchDisplayController 的表格视图中调用 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
方法的调用也会在主线程上调用。
此方法是非阻塞的。
- 参数:
-
PLAIN_TAXT; 要自动补全的部分文本。
- (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
,用于指定要请求的明确地点详情。
默认返回所有可用字段。