概览
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 > | 委托 |
在选择某个地点或取消选择时接收通知的委托人。 | |
GMSAutocompleteFilter * | autocompleteFilter |
要应用于自动补全建议的过滤条件(可以为 nil)。 | |
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] |
要应用于自动补全建议的过滤条件(可以为 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
,用于指定要请求的明确地点详情。
默认情况下,系统会返回所有可用的属性。