GMSAutocompleteTableDataSource 类参考文档

GMSAutocompleteTableDataSource 类参考文档

概览

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

GMSAutocompleteTableDataSource 旨在用作 UISearchDisplayController 的数据源。

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

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

使用 GMSAutocompleteTableDataSourceDelegate 委托协议,可在用户从列表中选择某个地点时收到通知。由于自动补全预测结果是异步加载的,因此需要在 UISearchDisplayController 的表视图中实现 doUpdateAutocompletePredictions 和调用重新加载数据。

公开成员函数

(实例类型)- init
 初始化数据源。
(void) - sourceTextHasChanged
 通知数据源要自动填充的源文本已更改。
(void) - clearResults
 清除所有联想查询。

属性

IBOutlet ID
< AutocompleteAutocompleteTableDataSourceDelegate >
委托
 选择地点或取消选择时收到通知。
GMSAutocompleteFilter *autocompleteFilter
 应用于自动补全建议的过滤条件(可以是 nil)。
UIColor * tableCellBackgroundColor
 表格单元格的背景颜色。
UIColor * tableCellSeparatorColor
 表格单元格之间的分隔线的颜色。
UIColor * primaryTextColor
 自动补全结果中结果名称文本的颜色。
UIColor * primaryTextHighlightColor
 用于突出显示自动补全结果中匹配文本的颜色。
UIColor * secondaryTextColor
 自动补全结果中第二行文字的颜色。
UIColor * tintColor
 应用于“自动补全”视图中控件的色调颜色。
GMSPlaceFieldplaceFields
 用于指定要请求的地点详情的 GMSPlaceField

成员函数文档

-(实例类型)init

初始化数据源。

-(无效)sourceTextHasChanged (可为 null 的 NSString *) 文本

通知数据源要自动填充的源文本已更改。

此方法只能从主线程调用。从其他线程调用此方法会导致出现未定义的行为。对 GMSAutocompleteTableDataSourceDelegate 方法的调用也将在主线程上调用。

此方法是非阻塞的。

参数:
text要自动填充的部分文本。
-(无效)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

默认返回所有可用字段。