GMSAutocompleteTableDataSource 类参考

GMSAutocompleteTableDataSource 类参考

概览

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 >
委托
 当选择地点或取消选择时接收通知的委托人。
GMSAutocompleteFilterautocompleteFilter
 要应用于自动补全建议的过滤器(可以是 nil)。
UIColor * tableCellBackgroundColor
 表格单元格的背景颜色。
UIColor * tableCellSeparatorColor
 表格单元格之间分隔线的颜色。
UIColor * primaryTextColor
 自动补全结果中结果名称文字的颜色。
UIColor * primaryTextHighlightColor
 用于在自动补全结果中突出显示匹配文本的颜色。
UIColor * secondaryTextColor
 自动补全结果中第二行文字的颜色。
UIColor * tintColor
 应用于“自动补全”视图中控件的着色颜色。
GMSPlaceFieldplaceFields
 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,用于指定要请求的明确地点详情。

默认返回所有可用字段。