GMSAutocompleteTableDataSource 类参考

GMSAutocompleteTableDataSource 类参考

概览

GMSAutocompleteTableDataSource提供了一个接口,通过实现 UITableViewDataSource 和 UITableViewDelegate 协议来提供地点自动补全预测结果,从而填充 UITableView。

GMSAutocompleteTableDataSource 可以用作 UISearchDisplayController 的数据源。

注意:
从 iOS 8 开始,UISearchDisplayController 已废弃。现在,建议将 UISearchController 与 GMSAutocompleteResultsViewController 搭配使用,以便使用 iOS 搜索界面显示自动补全结果。

GMSAutocompleteTableDataSource的实例设为 UISearchDisplayController 的 searchResultsDataSource 和 searchResultsDelegate 属性。在应该重新加载 TableForSearchString 的实现中,使用当前搜索字符串调用 sourceTextHasChanged。

使用 GMSAutocompleteTableDataSourceDelegate 委托协议,以便在用户从列表中选择地点时收到通知。由于自动补全预测结果以异步方式加载,因此需要实现 DidUpdateAutocompletePredictions 并在 UISearchDisplayController 的表格视图中调用 refreshData。

公共成员函数

(instancetype)- init
 初始化数据源。
(void) - sourceTextHasChanged
 通知数据源要自动补全的源文本已更改。
(void) - clearResults
 清除所有预测结果。

属性

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

要应用于自动补全建议的过滤条件(可以为 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,用于指定要请求的明确地点详情。

默认情况下,系统会返回所有可用字段。

- (NSArray<GMSPlaceProperty>*) placeProperties [read, write, assign]

GMSPlaceProperty,用于指定要请求的明确地点详情。

默认情况下,系统会返回所有可用的属性。